XSD根元素作为数组

时间:2015-04-07 07:05:59

标签: xml xsd

我创建了以下架构,其中product是一个数组,但XSD验证(在eclipse中)说maxOccurs =" unbounded"的minOccurs =" 0"不能在根元素上使用。那么如何在XSD中表示这种结构。以下是我的XSD外观。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element maxOccurs="unbounded" minOccurs="0" name="product">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" name="id" type="xs:decimal"/>
                <xs:element minOccurs="1" name="name" type="xs:string"/>
                <xs:element minOccurs="1" name="price">
                    <xs:simpleType>
                        <xs:restriction base="xs:decimal"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="tags" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

1 个答案:

答案 0 :(得分:0)

要形成良好的XML,文档必须只有一个根级元素,因此最简单的方法是使用一个名为products的单个根容器元素,而这个元素又具有零或更多{{ 1}}元素作为其子元素。