XSD - 如何允许元素在 XML 中以任意顺序任意次数出现?
XSD - How to allow elements in any order any number of times in 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 不是 well-formed 但我试图从缩进中猜测你的意图。我想你想要的是
<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>
我正在尝试创建架构并遇到了这个问题
我正在尝试创建一个 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 不是 well-formed 但我试图从缩进中猜测你的意图。我想你想要的是
<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>