Zawartość mieszana XSD
Mieszany element typu złożonego może zawierać atrybuty, elementy i tekst.
Złożone typy z mieszaną zawartością
Element XML „litera”, który zawiera zarówno tekst, jak i inne elementy:
<letter>
Dear Mr. <name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
Poniższy schemat deklaruje element „litera”:
<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>
Uwaga: Aby umożliwić wyświetlanie danych znakowych między elementami potomnymi „letter”, atrybut mieszany musi mieć wartość „prawda”. Znacznik <xs:sequence> oznacza, że zdefiniowane elementy (nazwa, identyfikator zamówienia i data dostawy) muszą pojawić się w tej kolejności wewnątrz elementu „litera”.
Moglibyśmy również nadać elementowi complexType nazwę, a element „letter” miał atrybut type, który odwołuje się do nazwy complexType (jeśli użyjesz tej metody, kilka elementów może odnosić się do tego samego typu złożonego):
<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>