我尝试设计一个XSD架构,允许元素以随机顺序排列,并且maxOccurs =“unbounded”。
我的XML:
<root>
<key></key>
<group></group>
<group>
<key></key>
<key></key>
<group>
<key></key>
<key></key>
</group>
</group>
<key></key>
<key></key>
<group>
<key></key>
<key></key>
<key></key>
</group>
<key></key>
</root>
答案 0 :(得分:5)
您想要<xs:choice>
:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="groupType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="group" type="groupType"/>
<xs:element name="key"/>
</xs:choice>
</xs:complexType>
<xs:element name="root" type="groupType" />
</xs:schema>
我通过将您的示例XML粘贴到Oxygen XML编辑器中,并使用“工具&gt;生成/转换架构”,输入=您的示例XML文档来实现此目的。 (它可能会使用Trang ......我不确定。)然后我调整了结果。