Xml 如何指定一个XSD来允许一系列元素以任何顺序排列?
我有一些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" />
<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>