XML-Know How

Gruppen von Elementen

Will man eine ganze Gruppe von Element-Deklarationen mehrfach verwenden, umschließt man in XSD die globalen Deklarationen der fraglichen Elemente mit dem <xs:group>-Element, das über das Attribut name mit einer Bezeichnung versehen wird.

Diese Element-Gruppe kann dann durch ein <xs:group>-Element mit ref-Attribut wiederverwendet werden. Das Prinzip ist also das Gleiche wie bei der Verwendung von global deklarierten Elementen. In einer DTD würde man dazu eine Parameter-Entity bilden.

Die XSD für das <artikel>-Beispiel sieht unter Verwendung von <xs:group> so aus:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- Deklarationen von Elementen als group: -->
<xs:group name="gruppe1">

    <xs:element name="titel" type="xs:string"/>
    <xs:element name="teaser" type="xs:string"/>
    <xs:element name="inhalt" type="xs:string"/>
</xs:group>

  <xs:element name="artikel">
    <xs:complexType>
       <xs:sequence>
       <!-- group wird verwendet: -->
         <xs:group ref="gruppe1" /
>
       </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>