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 的名称(如果使用此方法,多个元素可以引用同一个 complex 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>