XSD komplekse typer - kun tekst

Komplekse elementer med kun tekst kan indeholde tekst og egenskaber.

Komplekse elementer med kun tekst

Denne type indeholder kun simpel indhold (tekst og egenskaber), så vi skal tilføje et simpleContent-element til dette indhold. Når vi bruger simpelt indhold, skal vi definere udvidelse eller begrænsning inden for simpleContent-elementet, som dette:

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

eller:

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

Tip:Brug elementerne extension eller restriction for at udvide eller begrænse elementets grundlæggende simple type.

Her er et eksempel på en XML-element, "shoesize", der kun indeholder tekst:

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

Her er et eksempel på en kompleks type, hvor indholdet defineres som et heltal, og elementet "shoesize" har en egenskab kaldet "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 også tildele et navn til elementet complexType og lade type-attributten for elementet "shoesize" referere til dette navn (ved hjælp af denne metode kan flere elementer referere til den samme komplekse type):

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