如何定义具有无限最大值的元素
How to define an element with infinite max occurs
我想制作一个 xml 模式,其中根可以有 none,或多次一个元素。但是我只知道如何让元素有一个固定的最大出现次数,但我想要有无限的最大出现次数,这样任何数量都是可能的。
我只知道如何使最小值和最大值出现固定数量,我知道如何以固定或任意顺序进行这些。但是我该怎么做,以便我可以,例如像这样:
<root>
<foo />
<bar />
<foo />
<bar />
<!-- ... -->
</root>
以下 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>
我想制作一个 xml 模式,其中根可以有 none,或多次一个元素。但是我只知道如何让元素有一个固定的最大出现次数,但我想要有无限的最大出现次数,这样任何数量都是可能的。
我只知道如何使最小值和最大值出现固定数量,我知道如何以固定或任意顺序进行这些。但是我该怎么做,以便我可以,例如像这样:
<root>
<foo />
<bar />
<foo />
<bar />
<!-- ... -->
</root>
以下 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>