Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何指定一个XSD来允许一系列元素以任何顺序排列?_Xml_Xsd - Fatal编程技术网

Xml 如何指定一个XSD来允许一系列元素以任何顺序排列?

Xml 如何指定一个XSD来允许一系列元素以任何顺序排列?,xml,xsd,Xml,Xsd,我有一些XSD看起来像这样: <element name="a"> <complexType> <sequence> <element name="b" type="t:typ" minOccurs="1" maxOccurs="unbounded" /> <element name="c" type="t:typ" minOccurs="1" maxOccurs="unbounded" />

我有一些XSD看起来像这样:

<element name="a">
  <complexType>
    <sequence>
      <element name="b" type="t:typ" minOccurs="1" maxOccurs="unbounded" />
      <element name="c" type="t:typ" minOccurs="1" maxOccurs="unbounded" />
    </sequence>
  </complexType>
</element>

我将如何更改它,以允许标记b和c以任何顺序混淆,而不是顺序,例如,我将如何使其有效

<a>
  <b />
  <c />
  <b />
  <c />
  <b />
  <b />
</a>


“all”选项听起来很有希望,但它似乎只允许每个子元素中不超过一个。

我相信您希望这样:

<element name="a">
  <complexType>
    <choice maxOccurs="unbounded">
      <element name="b" type="t:typ" />
      <element name="c" type="t:typ" />
    </choice>
  </complexType>
</element>

您可以尝试选择元素的无限序列吗?像这样的?(未经测试)



序列可以,但这是用于配置文件的。我希望通过不强制用户按任何特定顺序放置元素来简化用户的编辑。有趣的方法!我认为它不起作用,因为它只允许它的一个子元素——但上的maxOccurs=unbounded可能会起作用!似乎有效,谢谢:)下一个问题是尝试将其中一个选项限制为仅一个实例。。。我想还有一个问题。
<element name="a"> 
  <complexType> 
    <sequence maxOccurs="unbounded" minOccurs="0">
      <choice> 
        <element name="b" type="t:typ" /> 
        <element name="c" type="t:typ" /> 
      </choice>
    </sequence>
  </complexType> 
</element>