XSD 混合内容
混合复杂类型元素可以包含属性、元素和文本。
具有混合内容的复杂类型
一个 XML 元素“letter”,它同时包含文本和其他元素
<letter>
尊敬的<name>John Smith</name> 先生。
您的订单 <orderid>1032</orderid>
将于 <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>
注意:为了使字符数据能够出现在“letter”的子元素之间,mixed 属性必须设置为“true”。<xs:sequence> 标签意味着定义的元素(name、orderid 和 shipdate)必须按此顺序出现在“letter”元素中。
我们也可以为 complexType 元素命名,让“letter”元素具有一个 type 属性,该属性引用 complexType 的名称(如果您使用此方法,则多个元素可以引用同一个复杂类型)
<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>