XSD- Attribute
Alle Attribute sind als einfache Typen deklariert.
Was ist ein Attribut?
Einfache Elemente können keine Attribute haben. Wenn ein Element Attribute hat, wird es als komplexer Typ betrachtet. Aber das Attribut selbst wird immer als einfacher Typ deklariert.
Wie definiere ich ein Attribut?
Die Syntax zum Definieren eines Attributs lautet:
<xs:attribute name="xxx" type="yyy"/>
wobei xxx der Name des Attributs ist und yyy den Datentyp des Attributs angibt.
Das XML-Schema verfügt über viele integrierte Datentypen. Die häufigsten Typen sind:
- xs:Zeichenfolge
- xs:dezimal
- xs: ganze Zahl
- xs:boolesch
- xs:Datum
- xs:Zeit
Beispiel
Hier ist ein XML-Element mit einem Attribut:
<lastname lang="EN">Smith</lastname>
Und hier ist die entsprechende Attributdefinition:
<xs:attribute name="lang" type="xs:string"/>
Standard- und Festwerte für Attribute
Attribute können einen Standardwert ODER einen festgelegten festen Wert haben.
Dem Attribut wird automatisch ein Standardwert zugewiesen, wenn kein anderer Wert angegeben wird.
Im folgenden Beispiel ist der Standardwert "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Außerdem wird dem Attribut automatisch ein fester Wert zugewiesen, und Sie können keinen anderen Wert angeben.
Im folgenden Beispiel ist der feste Wert "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Optionale und erforderliche Attribute
Attribute sind standardmäßig optional. Um anzugeben, dass das Attribut erforderlich ist, verwenden Sie das Attribut „use“:
<xs:attribute name="lang" type="xs:string" use="required"/>
Inhaltliche Beschränkungen
Wenn für ein XML-Element oder -Attribut ein Datentyp definiert ist, wird der Inhalt des Elements oder Attributs eingeschränkt.
Wenn ein XML-Element vom Typ „xs:date“ ist und eine Zeichenfolge wie „Hello World“ enthält, wird das Element nicht validiert.
Mit XML-Schemas können Sie Ihren XML-Elementen und -Attributen auch Ihre eigenen Beschränkungen hinzufügen. Diese Einschränkungen werden als Facetten bezeichnet. Mehr über Facetten erfahren Sie im nächsten Kapitel.