如何定义无限大的元素

时间:2019-07-13 18:34:46

标签: xml xsd

我想创建一个XML模式,其中根可以不包含任何元素,也可以不包含多个元素。但是我只知道如何使具有固定最大值的元素出现在外面,但是我想使无限最大值出现,以便任何数量都是可能的。

我只知道如何使固定的最小值和最大值发生,并且我知道如何按固定或任意顺序进行调整。但是我该怎么做,这样我才能像这样:

<root>
    <foo />
    <bar />
    <foo />
    <bar />

    <!-- ... -->
</root>

1 个答案:

答案 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>