XSD-komplexe Typen - Nur Text

Ein komplexer Element mit Text kann Text und Attribute enthalten.

Kompakter Element mit Text

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

<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 Typ des Elements zu erweitern oder zu beschränken.

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

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

Nachstehendes Beispiel definiert einen komplexen Typ, dessen Inhalt als ganzzahlig definiert ist und das 'shoesize'-Element hat ein Attribut namens 'country':

<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'-Elementtype-Attribut auf diesen Namen verweisen lassen (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>