GDL-Schemaattribute-Element
Der Datentyp aller <GDL_ATTRIBUTE> Elemente wird pro instance mithilfe von xsi:type angegeben. Attribute ohne eine bestimmte Datentypdefinition sind festgelegte Instanzen des generischen Attributelements (<GDL_UntypedAtt>), das im von GDL erstellten Schema wie folgt definiert wird:
<complexType name="GDL_UntypedAtt" mixed="true">
<sequence>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Name" type="string" use="required"/>
<attribute name="Personality" type="string" use="optional"/>
</complexType>
Dieser generische Datentyp wird verwendet, wenn der Inhalt des Attributs nicht durch einen spezifischeren Datentyp beschrieben wird. Der generische Datentyp schränkt den Elementinhalt nicht ein, der angezeigt werden kann. Der tatsächliche Elementinhalt wird durch die GDL-Datentypvorlagen bestimmt.
<> GDL_UntypedAtt hat zwei Attribute: Name und Persönlichkeit. Name ist erforderlich und enthält den Schlüsselwort (keyword) Namen des GDL-Attributs. Personality ist optional und gibt das Persönlichkeitstag an, wenn das Attribut als *DataType: MULTIPLE_PERSONALITY definiert ist.
Wenn der GDL-Datentyp des Werts speziell im XSD-Schema definiert ist, wird vom xsi:type-Attribut auf den Datentyp der Definition verwiesen. Die Datentypen XML_TYPE, ENUMERATOR und XSD_DEFINED erstellen neue Datentypen im XSD-Schema.
GDL-Verbunddatentypen werden durch den generischen Datentyp dargestellt. Instanzen zusammengesetzter Datentypen enthalten untergeordnete Elemente, die möglicherweise andere untergeordnete Elemente enthalten, oder Zeicheninhalte, die einen einfachen XML-Datentyp darstellen. Die Namen der untergeordneten Elemente werden durch die *ElementTags-Direktive der DATATYPE-Vorlage definiert.
Werte von GDL-Attributen, die keinen definierten Datentyp aufweisen oder keiner Vorlage zugeordnet sind oder nicht der Syntax entsprechen, die für den angegebenen Datentyp erwartet wird, werden durch einen <CDATA-Abschnitt> im <GDL_ATTRIBUTE-Element> dargestellt. In diesem Abschnitt können Clients oder andere Parser-Filters den Wert wie gewünscht verarbeiten. Solche unbekannten Datentypen enthalten nicht das xsi:type-Attribut . <Möglicherweise sind mehrere CDATA-Abschnitte> erforderlich, um den Wert darzustellen, wenn der Wert die Zeichenfolge "]]>" enthält.