Gemischter XSD -Inhalt
Ein gemischt komplexes Element kann Attribute, Elemente und Text enthalten.
Komplexe Typen mit gemischtem Inhalt
Ein XML-Element, "Brief", das sowohl Text als auch andere Elemente enthält:
<letter>
Dear Mr. <name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
Das folgende Schema deklariert das "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>
Hinweis: Damit Zeichendaten zwischen den untergeordneten Elementen von „letter“ erscheinen können, muss das gemischte Attribut auf „true“ gesetzt werden. Das <xs:sequence>-Tag bedeutet, dass die definierten Elemente (Name, Bestell-ID und Versanddatum) in dieser Reihenfolge innerhalb eines „Buchstaben“-Elements erscheinen müssen.
Wir könnten dem complexType-Element auch einen Namen geben und dem „letter“-Element ein type-Attribut geben, das auf den Namen des complexType verweist (wenn Sie diese Methode verwenden, können mehrere Elemente auf denselben komplexen Typ verweisen):
<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>