XSD Endast textkomplexa element

Komplexa element med endast text kan innehålla text och attribut.

Komplex element med endast text

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

<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 extension- eller restriction-element 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>

Nedanstående exempel deklarerar en komplex typ, vars innehåll definieras som heltal och "shoesize"-elementet innehåller 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å en complexType-element och låta "shoesize"-elementets type-attribut 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>