Xsd 要匹配以下内容的XML架构(“all”,具有无界maxOccurs?)

Xsd 要匹配以下内容的XML架构(“all”,具有无界maxOccurs?),xsd,Xsd,假设我有一个元素,称它为可以有和的子类型。现在-这是一个转折点。任何数量的和儿童可以以任何顺序生活在中 例如: <A> <C> <C> <B> <C> <B> <B> <C> ... </A> ... 是否有符合此要求的模式规则?如果我能把maxOccurs=“unbounded”放进去的话,似乎“所有”都会起作用,但我想这是不合法的。回答我自己的问题

假设我有一个元素,称它为
可以有
的子类型。现在-这是一个转折点。任何数量的
儿童可以以任何顺序生活在

例如:

<A>
  <C>
  <C>
  <B>
  <C>
  <B>
  <B>
  <C>
  ...
</A>

...

是否有符合此要求的模式规则?如果我能把maxOccurs=“unbounded”放进去的话,似乎“所有”都会起作用,但我想这是不合法的。

回答我自己的问题——看起来像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>

很酷

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root" type="root"/>
  <xs:complexType name="root">
    <xs:choice minOccurs="0">
      <xs:element name="a"/>
    </xs:choice>
  </xs:complexType>
</xs:schema>

没有
minOccurs=“0”

的帮助,谢谢。你知道有没有可能做一些类似的事情来强制至少一个和至少一个的存在,同时允许每一个的数量,以任何顺序?你的答案可能是正确的,但不是有效的代码。请通过自己编辑答案来改进“复制/粘贴”代码的答案。我的意思是。。。。让它成为一个有效的答案。。。与用户desau的回答类似。任何没有你那么丰富经验的人…都不会直接掌握它。因此,它应该是“白痴”证明答案与足够的上下文。嵌入免费格式化程序链接到您的答案。。。它提高了你答案的质量。然后删除评论。。。我也会用这个。
<root>
</root>
<root>
  <a/>
</root>