0

我想使用 XSD 验证我的 XML。XML 应该包含复杂元素,其中包含给定集合的一些(没有全部)元素。我认为复杂元素的直接解决方案是

<xs:sequence>
  <xs:element name="foo" minOccurs="0" maxOccurs="1"/> 
  <xs:element name="bar" minOccurs="0" maxOccurs="1"/> 
  <xs:element name="bee" minOccurs="0" maxOccurs="1"/> 
</xs:sequence>

我想摆脱元素的设置顺序,再加上我想摆脱minOccurs="0"每一行中的

<foo>text</foo>
<bee>text</bee> 
<bar>text</bar>

也是有效的。我的想法是写

<xs:sequence minOccurs="0" maxOccurs="unbounded">
   <xs:choice minOccurs="0" maxOccurs="unbounded"> 
      <xs:element1>
      <xs:element2> 
      ... 
   </xs:choice>
</xs:sequence>

这应该转换为“根据需要多次选择列表中的一个元素”。

但它不允许我maxOccurs=1对单个元素施加外观限制(如 )。有没有更好的方法来验证 XML 而不强制元素的给定顺序?

4

0 回答 0