XSD Komplekse Typer med Blandet Indhold

En blandet kompleks type kan indeholde egenskaber, elementer og tekst.

Komplekst type med blandet indhold

XML-elementet, "letter", indeholder tekst samt andre elementer:

<letter>
Kære Mr.<name>John Smith</name>.
Din ordre <orderid>1032</orderid>
vil blive sendt den <shipdate>2001-07-13</shipdate>.
</letter>

Denne schema-deklaration beskriver dette "letter"-element:

<xs:element name="letter">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="orderid" type="xs:positiveInteger"/>
      <xs:element name="shipdate" type="xs:date"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Kommentar:For at gøre det muligt for tegndata at optræde mellem "letter"-elementernes underelementer, skal mixed-attributten sættes til "true". <xs:sequence>-etiketten (name, orderid og shipdate) betyder, at de definerede elementer skal optræde i rækkefølge inden i "letter"-elementet.

Vi kan også give et navn til en "complexType"-element og lade "letter"-elementets type-attribut referere til dette navn (på denne måde kan flere elementer referere til den samme komplekse type):

<xs:element name="letter" type="lettertype"/>
<xs:complexType name="lettertype" mixed="true">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="orderid" type="xs:positiveInteger"/>
    <xs:element name="shipdate" type="xs:date"/>
  </xs:sequence>
</xs:complexType>