如何解决XSD-如何在XML中以任意顺序任意次数允许元素?
我正在尝试创建模式并遇到此问题
我正在尝试创建XSD,并尝试按照以下要求编写定义:
- 允许子元素指定显示任意次(0到 无限)
- 允许子元素以任意顺序
XML:
<xml-doc-out>
<complex sys-name="abcd" isType="sequence" minOccurs="1" maxOccurs="1">
<property sys-name="A" isType="list" minOccurs="0" maxOccurs="1">
<property sys-name="B" isType="list" minOccurs="0" maxOccurs="1">
<complex sys-name="D" isType="sequence" minOccurs="0" maxOccurs="1">
<complex sys-name="E" isType="sequence" minOccurs="0" maxOccurs="1">
<property sys-name="F" isType="bool" minOccurs="0" maxOccurs="1">
</complex>
</xml-doc-out>
当前XSD:
<s:complexType name="COMPLEX_DSC_TYPE">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="property" type="s0:PROPERTY_DSC_TYPE"/>
<s:element minOccurs="0" maxOccurs="unbounded" name="complex" type="s0:COMPLEX_DSC_TYPE"/>
</s:sequence>
</s:complexType>
错误:意外的子元素。我想这是继元素之后的问题。
上述XML的正确XSD是什么?
我尝试过的XSD:
<s:complexType name="COMPLEX_DSC_TYPE">
<s:choice minOccurs="0" maxOccurs="unbounded">
<s:element name="property" type="s0:PROPERTY_DSC_TYPE"/>
<s:element name="complex" type="s0:COMPLEX_DSC_TYPE"/>
</s:choice>
</s:complexType>
解决方法
您的XML格式不正确,但是我试图从缩进中猜测您的意图。我想你想要的是
<s:complexType name="COMPLEX_DSC_TYPE">
<s:choice minOccurs="0" maxOccurs="unbounded">
<s:element name="property" type="s0:PROPERTY_DSC_TYPE"/>
<s:element name="complex" type="s0:COMPLEX_DSC_TYPE"/>
</s:choice>
</s:complexType>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。