如何定义具有无限最大值的元素

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>