Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Datatypen ENUMERATOR har tillåtna värden som är begränsade till en uppsättning token.
*DataType: ENUMERATOR dirigerar en mall för att definiera en uppräkningsdatatyp. Den här datatypen matas ut som en XML-schema simpleType-deklaration som härleds från strängtypen med begränsningar för att ange varje tillåten uppräknare. Följande direktiv används för att helt definiera datatypen ENUMERATOR:
*XMLDataType (krävs). NCName som ska tilldelas till den XML-datatyp som ska användas för att definiera den här uppräkningen i det genererade XML-schemat. Varje uppräkningstyp måste ha ett unikt NCName. Det här namnet måste vara unikt för alla XSD_DEFINED- och ENUMERATOR-typer. För att undvika konflikter med datatyper som GDL-parsern definierar bör du undvika NCNames som börjar med "GDL_" och "GDLW_".
*EnumeratorList (krävs). Listan över enumeratörtokens. Varje token måste vara en giltig GDL-symbol och måste uppfylla eventuella ytterligare krav som XSD-schemat ställer för värdet för schemakomponenten: <uppräkning>.
*ArrayLabel (valfritt). Om det här direktivet anges förväntar sig parserfiltret att värdet ska omges av parenteser, föregås av den angivna matrisetiketten.
Värdet som ska parsas som en ENUMERATOR-datatyp måste matcha en av de token som direktivet *ElementTags definierar.
Överväg följande mall.
*Template: COLORS
{
*Type: DATATYPE
*DataType: ENUMERATOR
*XMLDataType: "colors"
*EnumeratorList: (YELLOW, MAGENTA, CYAN, BLACK, RED, GREEN, BLUE)
}
Föregående mall gör att parserfiltret skapar följande XML-schemapost.
<simpleType name = "colors">
<restriction base="string">
<enumeration value="YELLOW"/>
<enumeration value="MAGENTA"/>
<enumeration value="CYAN"/>
<enumeration value="BLACK"/>
<enumeration value="RED"/>
<enumeration value="GREEN"/>
<enumeration value="BLUE"/>
</restriction>
</simpleType>
Parserfiltret skapar också motsvarande omslutna datatyp.
<complexType name = "GDLW_colors">
<simpleContent>
<extension base="gdl:colors">
<attribute name="Name" type="string" use="optional"/>
<attribute name="Personality" type="string" use="optional"/>
</extension>
</simpleContent>
</complexType>
Överväg följande GDL-post.
*Color: GREEN
Och tänk på ACOLOR-mallen, som deklarerar attributet *Color GDL som har en *ValueType som definieras av mallen COLORS, som följande kodexempel visar.
*Template: ACOLOR
{
*Name: "*Color"
*Type: ATTRIBUTE
*ValueType: COLORS
*Additive: LEAST_TO_MOST_RECENT
}
Om den tidigare GDL-posten tolkas med hjälp av ACOLOR-mallen, skulle den resulterande XML-utdata genereras.
<GDL_ATTRIBUTE Name="*Color" xsi:type="GDLW_colors" >GREEN</GDL_ATTRIBUTE>
XML-attributet xsi:type definierar den här instansen av GDL_ATTRIBUTE-elementet för att innehålla en malldefinierad värdetyp som representerar en uppräkning som definieras i XML-standardnamnområdet.