Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der systemeigene XML-Datentyp wird als XML_TYPE definiert.
Die Syntax wird durch XML definiert. Jeder Datentyp, der vom XML-Schema erkannt wird, kann definiert werden. Der Parserfilter hängt nicht von den XML-Datentypen ab, sodass der aktuelle Parser zukünftige XML-Datentypen ohne Änderungen unterstützen kann.
* Datentyp: XML_TYPE ordnet eine Vorlage einem integrierten einfachen Datentyp für eine bestimmte XML-Schemadefinitionssprache zu. Der Instanzdatenwert wird als Inhalt eines XML-Elements ausgegeben, dessen xsi:type vom *XMLDataType-Konstrukt abgeleitet wird, das von dieser Vorlage angegeben wird.
Die folgenden Direktiven werden verwendet, um den Datentyp XML_TYPE zu definieren:
*XMLDataType (Erforderlich). Jeder integrierte einfache XSD-Schematyp. Die World Wide Web Consortium (W3C)-Empfehlung für das XML-Schema erkennt die folgenden eingebauten einfachen Datentypen: string, normalizedString, token, byte, unsignedByte, base64Binary, hexBinary, integer, positiveInteger, negativeInteger, nonNegativeInteger, nonPositiveInteger, int, unsignedInt, long, unsignedLong, short, unsignedShort, decimal, float, double, boolean, time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay, Name, QName, NCName, anyURI, language, ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATION, NMTOKEN und NMTOKENS. Beachten Sie, dass der GDL-Parser nicht auf diese Datentypen beschränkt ist und darauf ausgelegt ist, zukünftige XML-Datentypen ohne Änderungen zu verarbeiten.
*ArrayLabel (Optional). Wenn Sie diese Direktive angeben, erwartet der Parserfilter, dass der Wert durch Klammern eingeschlossen wird, vor der angegebenen Arraybeschriftung.
Die Syntax des Werts muss der Syntax entsprechen, die der W3C-XML-Standard für diesen bestimmten Datentyp definiert. Wenn die XML-Syntax mit den grundlegenden GDL-Syntaxregeln in Konflikt steht, muss der Wert (oder nur der konfliktierende Teil) in <Begin/EndValue:-> Konstrukte eingeschlossen werden. XML-Werte mit solchen inkompatiblen Syntaxen oder deren Syntax nicht mit der Syntax der zusammengesetzten Datentypen kompatibel ist, können nicht als Bestandteil eines zusammengesetzten Datentyps auftreten. Beachten Sie außerdem, dass der GDL-Parser keine SONDERZEICHEN wie öffnende oder schließende Klammern (< oder >) oder ein kaufmännisches Und-Zeichen (&) escapet. Der Ersteller des Werts ist für die Einhaltung der XML-Syntax für Zeichendaten verantwortlich.
Betrachten Sie beispielsweise die folgende Vorlage.
*Template: XML_STRING
{
*Type: DATATYPE
*DataType: XML_TYPE
*XMLDataType: "string"
}
Wenn Sie die vorherige Vorlage verwenden, wird der folgende XML-Schemaeintrag erstellt. Dieser Eintrag definiert einen neuen Datentyp, der von dem Typ abgeleitet wird, der ursprünglich von der *XMLDataType-Direktive angegeben wurde, aber dieser neue Datentyp verfügt über zusätzliche XML-Attribute, die in der Momentaufnahme angezeigt werden können. Wenn Sie den ursprünglichen Datentyp verwendet haben, erhalten Sie Schemaüberprüfungsfehler, da die ursprünglichen vordefinierten Typen die Darstellung von XML-Attributen nicht zulassen.
<complexType name = "GDLW_string">
<simpleContent>
<extension base="string">
<attribute name="Name" type="string" use="optional"/>
<attribute name="Personality" type="string" use="optional"/>
</extension>
</simpleContent>
</complexType>
Berücksichtigen Sie den folgenden GDL-Eintrag.
*Text: Hello World
Betrachten Sie die PHRASE-Vorlage, die das GDL-Attribut *Text deklariert, um einen *ValueType zu haben, der von der XML_STRING-Vorlage definiert ist, wie im folgenden Codebeispiel gezeigt.
*Template: PHRASE
{
*Name: "*Text"
*Type: ATTRIBUTE
*ValueType: XML_STRING
}
Wenn der frühere GDL-Eintrag mithilfe der PHRASE-Vorlage interpretiert wird, tritt die folgende XML-Ausgabe auf.
<GDL_ATTRIBUTE Name="*Text" xsi:type="GDLW_string" >Hello World</GDL_ATTRIBUTE>
Das XML-Attribut "xsi:type " wird verwendet, um den Datentyp anzugeben, der von diesem Attributelement gehalten wird, da das Schema keine Deklaration für dieses Element enthält.