xsd 具有混合内容的复杂类型
Posted
技术标签:
【中文标题】xsd 具有混合内容的复杂类型【英文标题】:xsd Complex Types with Mixed Content 【发布时间】:2014-06-21 22:41:43 【问题描述】:我正在阅读this tutorial,它指出要获得这样的 xml:
<letter>
Dear Mr.<name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
您需要这个 xml 架构定义:
<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>
但我认为这并不完全正确。
它定义了 name、orderid 和 shiptdate 元素,但没有定义像 Dear Mr.
、Your order
和 will be shipped on
这样的纯文本
唯一的xs:string
类型已分配给name
元素。
您能帮我理解一下吗?
非常感谢
【问题讨论】:
【参考方案1】:这就是mixed="true"
所做的——它允许在复杂类型的声明元素周围和之间使用任意文本。元素必须按要求的顺序出现,但中间可以有任何文本。
【讨论】:
虽然教程里已经有注释了,但是我没仔细看。感谢您的回答以上是关于xsd 具有混合内容的复杂类型的主要内容,如果未能解决你的问题,请参考以下文章
将具有混合复杂类型元素的 XML 转换为 DataSet,以及其他 DataSet 限制