XSD komplexer Typ - Textinhalt

Ein komplexer Textinhalt kann Text und Attribute enthalten.

Kompakter Elementtext

Dieser Typ enthält nur einfache Inhalte (Text und Attribute), daher müssen wir dem Inhalt den einfachen Inhaltselement "simpleContent" hinzufügen. Wenn einfacher Inhalt verwendet wird, müssen wir wie folgt Erweiterungen oder Beschränkungen im einfachen Inhaltselement definieren:

<xs:element name="ein Name">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

oder:

<xs:element name="ein Name">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Tipp:Verwenden Sie die Elemente "extension" oder "restriction", um die grundlegende einfache Typologie zu erweitern oder zu beschränken.

Hier ist ein Beispiel für ein XML-Element, "shoesize", das nur Text enthält:

<shoesize country="france">35</shoesize>

Ein Beispiel, bei dem eine komplizierte Art deklariert wird, deren Inhalt als ganzzahlig definiert ist und das "shoesize"-Element das Attribut "country" namens "country" enthält:

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Wir können auch einen Namen für das Element "complexType" festlegen und die "shoesize"-Element-Attribut "type" auf diesen Namen verweisen (durch diese Methode können mehrere Elemente denselben komplexen Typ referenzieren):

<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>