最佳答案
我正在尝试创建一个 XSD,并尝试使用以下要求编写定义:
我环顾四周,发现了各种各样的解决方案,比如 这个:
<xs:element name="foo">
<xsl:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="child1" type="xs:int"/>
<xs:element name="child2" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
但据我所知,xs: choice 仍然只允许单个元素选择。因此,像这样将 MaxOccurs 设置为无界应该只意味着“任何一个”子元素可以出现多次。准确吗?
如果上述解决方案是不正确的,我怎样才能实现上述我在我的要求?
编辑 : 如果需求如下呢?
比如说, this xml is valid:
<foo>
<child1> value </child1>
<child1> value </child1>
<child3> value </child3>
<child2> value </child2>
<child4> value </child4>
<child1> value </child1>
</foo>
but this is not (missing child3)
<foo>
<child1> value </child1>
<child1> value </child1>
<child2> value </child2>
<child4> value </child4>
<child1> value </child1>
</foo>