现在我正在验证XML
这样的:
<?xml version="1.0" encoding="utf-8"?>
<all>
<allElem>
<a>12345</a>
<b>2</b>
<c>3</c>
<d>
<d1>4</d1>
<d2>5</d2>
<d3>6</d3>
</d>
<d>
<d1>7</d1>
<d2>8</d2>
<d3>9</d3>
</d>
</allElem>
</all>
我写了这样一个简单的XSD
:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="all">
<xs:complexType>
<xs:sequence>
<xs:element name="allElem" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string"/>
<xs:element name="c" type="xs:string"/>
<xs:element name="d" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="d1" type="xs:string"/>
<xs:element name="d2" type="xs:string"/>
<xs:element name="d3" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我的问题是:我正在使用xs:sequence
,但我不希望我的 xml 元素被订购,我不能使用 xs:all,因为它只允许元素出现一次 max,但我的 xml 元素“d”应该能够出现不止一次。xsd中是否有解决方案可以定义无序元素出现一次或多次出现?换句话说,我想知道是否有这样一个 xsd 标签可以定义可以多次出现的无序元素。