XSD Attributes

Alle Attribute werden als einfacher Typ deklariert.

Was ist ein Attribut?

Einfache Elemente können keine Attribute haben. Wenn ein Element Attribute hat, wird es als ein komplexer Typ betrachtet. Aber die Attribute selbst werden immer als einfacher Typ deklariert.

Wie wird ein Attribut deklariert?

Die Syntax zur Definition eines Attributes ist:

<xs:attribute name="xxx" type="yyy"/>

Hierbei bezieht sich xxx auf den Attributnamen und yyy auf den Datenotyp des Attributes. XML Schema verfügt über viele eingebauten DatenTypen.

Die häufigsten Typen sind:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Beispiel

Dies ist ein XML-Element mit Attributen:

<lastname lang="EN">Smith</lastname>

Dies ist die zugehörige Attributdefinition:

<xs:attribute name="lang" type="xs:string"/>

Standardwerte und feste Werte von Attributen

Attribute können eine angegebene Standardwert oder einen festen Wert haben.

Wenn kein anderer Wert festgelegt ist, wird der Standardwert automatisch dem Element zugewiesen.

Im folgenden Beispiel ist der Standardwert "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Feste Werte werden ebenfalls automatisch an das Element zugewiesen, und Sie können keine andere Wert festlegen.

Im folgenden Beispiel ist der festgelegte Wert "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Optionale und obligatorische Attribute

Standardmäßig sind Attribute optional. Um ein Attribut als obligatorisch zu deklarieren, verwenden Sie das Attribut "use":

<xs:attribute name="lang" type="xs:string" use="required"/>

Einschränkung des Inhalts

Wenn ein XML-Element oder ein Attribut einen definierten Datentyp hat, wird eine Einschränkung für den Inhalt des Elements oder des Attributes hinzugefügt.

Wenn der Typ des XML-Elements "xs:date" ist und der Inhalt ein ähnlicher String wie "Hello World" enthält, wird das Element nicht validiert.

Through XML schema, you can also add your own constraints to your XML elements and attributes. These constraints are called facets (editor's note: meaning the face of a polyhedron, which can be translated as facet). You will learn more about facets in the next section.