我想创建一个XML模式,其中根可以不包含任何元素,也可以不包含多个元素。但是我只知道如何使具有固定最大值的元素出现在外面,但是我想使无限最大值出现,以便任何数量都是可能的。
我只知道如何使固定的最小值和最大值发生,并且我知道如何按固定或任意顺序进行调整。但是我该怎么做,这样我才能像这样:
<root>
<foo />
<bar />
<foo />
<bar />
<!-- ... -->
</root>
答案 0 :(得分:0)
以下XSD-1.0架构应满足您的需求。它使用xs:all
元素作为xs:complexType
的子元素,以指示foo
元素或bar
元素可以出现0次至无限次。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:all>
<xs:element name="foo" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="bar" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>