我尝试设计一个 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>
最佳答案
你想要<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 编辑器并使用“工具 > 生成/转换模式”,输入 = 您的示例 XML 文档来获得此信息。 (它可能在幕后使用 Trang……我不确定。)然后我调整了结果。
关于xml - 允许随机排序的 XSD 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820323/