XML Schema匹配以下("all",无界限maxOccurs?)

des*_*sau 12 xsd

说我有一个元素,称之为<A>. <A>可以有孩子的类型<B><C>.现在 - 这是扭曲.任何数量的<B><C>孩子们的<A>,以任何顺序.

例如:

<A>
  <C>
  <C>
  <B>
  <C>
  <B>
  <B>
  <C>
  ...
</A>
Run Code Online (Sandbox Code Playgroud)

是否有符合此要求的架构规则?似乎"all"会起作用,如果我可以把maxOccurs ="unbounded",但我猜这不合法.

des*_*sau 30

回答我自己的问题 - 看起来像trang(http://www.thaiopensource.com/relaxng/trang.html)给了我一个答案:

<xs:element name="A">
  <xs:complexType>
    <xs:choice maxOccurs="unbounded">
      <xs:element ref="B"/>
      <xs:element ref="C"/>
    </xs:choice>
  </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

很酷!

  • 有帮助,谢谢.任何想法是否可以做类似的事情,将强制存在至少一个<B>和至少一个<C>,同时允许任何数量的每个,以任何顺序? (4认同)