Element: ENUM
Enumerations are data types that support a finite, well-defined set of possible value iden-tifiedby symbolic names. XML, as well as most programming languages support someform of definition of enumerations.
Attributes
| Name |
Type |
Optional |
| NAME |
STRING |
No |
Defines the name of the enumeration, as itwill be used by individual field to refer tothe enumeration. This name never occursin the XML file to parse. It is a symbolicname used internally by XMLBOOSTER.
|
| PREFIX |
STRING |
Yes |
If specified, the character string specifiedby this attribute will be prepended to allvalues names to yield the correspondingname in the host language.
|
| POSTFIX |
STRING |
Yes |
If specified, the character string specifiedby this attribute will be appended to all val-uesnames to yield the corresponding namein the host language.
|
Content
Appears in
SYSTEMExample
<SYSTEM NAME="Agenda">
<CCONFIG MAXLEN="100"
ARRAYSIZE="5"
FLATMODE="TRUE"/>
<COBOLCONFIG NUMBERLINES="6"
USECLASSPREFIX="TRUE"
MAXLEN="40"
ARRAYSIZE="40"
DATAPREFIX=""
LABELPREFIX="XMLB-"/>
<DELPHICONFIG COLLECTIONSTART="ONE"/>
<JAVACONFIG PACKAGE="com.raincode.xmlbooster.agenda"
COLLECTIONCLASS="ArrayList"
COLLECTIONSTART="ZERO">
<IMPORT>
/////////////////////////////////////
// Automatically inserted import list
/////////////////////////////////////
import java.util.*;
</IMPORT>
</JAVACONFIG>
<CPPCONFIG STRINGCLASS="std::string"
COLLECTIONCLASS="std::vector">
<INCLUDES>
#include <vector.h>
#include <stl_string.h>
</INCLUDES>
</CPPCONFIG>
<ELEMENT NAME="AGENDA"
MAIN="TRUE">
<FIELDS>
<FIELD NAME="Entries"
REFTYPE="ENTRY"
MODE="LIST"/>
</FIELDS>
<FORMULA>
<REPEAT TARGET="ENTRIES"
ATLEASTONE="TRUE">
<ELEMENTREF NAME="ENTRY"/>
</REPEAT>
</FORMULA>
</ELEMENT>
<ELEMENT NAME="ENTRY">
<FIELDS>
<FIELD NAME="Day"
TYPE="INTEGER"/>
<FIELD NAME="Month"
TYPE="INTEGER"/>
<FIELD NAME="Year"
TYPE="INTEGER"/>
<FIELD NAME="Who"
TYPE="PCHAR">
<META NAME="JUST"/>
</FIELD>
<FIELD NAME="Status"
ENUMTYPE="ENTRYSTATUS"/>
</FIELDS>
<ATTRIBUTES>
<ATTR NAME="DAY"
TARGET="Day"/>
<ATTR NAME="MONTH"
TARGET="Month"/>
<ATTR NAME="YEAR"
TARGET="Year"/>
<ATTR NAME="WHO"
TARGET="Who"/>
<ATTR NAME="STATUS"
TARGET="Status"
OPTIONAL="TRUE"/>
</ATTRIBUTES>
</ELEMENT>
<ENUM NAME="ENTRYSTATUS"
PREFIX=""
POSTFIX="">
<ENUMVALUE NAME="Proposed"/>
<ENUMVALUE NAME="Cancelled"/>
<ENUMVALUE NAME="Confirmed"/>
</ENUM>
</SYSTEM>
DTD declaration
<!ELEMENT ENUM
((META)*, (ENUMVALUE)+)
>
<!ATTLIST ENUM
NAME CDATA #REQUIRED
PREFIX CDATA #IMPLIED
POSTFIX CDATA #IMPLIED
>