XSD混合コンテンツ
混合複合型要素には、属性、要素、およびテキストを含めることができます。
混合コンテンツを含む複雑なタイプ
テキストとその他の要素の両方を含むXML要素「letter」:
<letter>
Dear Mr. <name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
次のスキーマは「文字」要素を宣言します。
<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>
注:「letter」の子要素の間に文字データを表示できるようにするには、mixed属性を「true」に設定する必要があります。<xs:sequence>タグは、定義された要素(name、orderid、shipdate)が「letter」要素内にその順序で表示される必要があることを意味します。
また、complexType要素に名前を付け、「letter」要素にcomplexTypeの名前を参照する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>