混合复杂类型元件可以包含属性,元素和文本。
复杂类型包含混合内容
XML元素, "letter" ,它包含文本和其他元素:
<letter>
Dear Mr.<name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
下面的模式声明"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>
Note:为了使字符数据的子元素之间显示的"letter" ,在mixed属性必须设置为"true" 。 在<xs:sequence>标签意味着定义的元素(name, orderid and shipdate)必须出现在里面的顺序"letter"的元素。
我们也可以给complexType元素的名称,让"letter"元素有指复杂类型的名称(如果你使用这种方法,几个元素可以参考同一复杂类型)一个类型的属性:
<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>