XSD komplex typ - endast text

Komplexa element som endast innehåller text kan innehålla text och attribut.

Komplex element som endast innehåller text

Denna typ innehåller endast enkelt innehåll (text och attribut), så vi måste lägga till ett simpleContent-element. När vi använder enkelt innehåll måste vi definiera utökning eller begränsning inom simpleContent-elementet, som följande:

<xs:element name="en viss namn">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

eller:

<xs:element name="en viss namn">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Tips:Använd elementen extension eller restriction för att utöka eller begränsa elementets grundläggande enkla typ.

Här är ett exempel på en XML-element, "shoesize", som endast innehåller text:

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

Nedan är ett exempel där en komplex typ deklareras, dess innehåll definieras som ett heltal och elementet "shoesize" har ett attribut med namnet "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>

Vi kan också sätta ett namn på elementet complexType och låta type-attributet för elementet "shoesize" hänvisa till detta namn (genom att använda detta sätt kan flera element hänvisa till samma komplexa typ):

<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>