Ниже приведены 2 примера файлов XML
<Parent>
<Child1>
<Child2> value</Child2>
<Child1>
<Child2>value<Child2>
<Child3> value </Child3>
<Child4> value </Child4>
</Child1>
<Child1>
<Child2>value<Child2>
<Child4> value </Child4>
</Child1>
</Child1>
</Parent>
<Parent>
<Child1>
<Child2> value</Child2>
<Child3> value </Child3>
<Child1>
<Child4> value </Child4>
<Child2>value<Child2>
<Child3> value </Child3>
</Child1>
</Child1>
</Parent>
Элементы могут быть в любом порядке, а также в любом количестве последовательностей.
Схема определяется как:
<xs:complexType name="Child1">
<xs:sequence minOccurs="0" >
<xs:element type="xs:string" name="Child2" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="Child3" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="xs:string" name="Child1" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="Child4" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Parent">
<xs:sequence>
<xs:element type="Child1" name="Child1" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
У меня проблема в следующем:
1. Элементы могут быть в разном порядке. Но так как я установил его как xs: sequence, он должен быть в определенном порядке.
2. Если я изменю на xs: все так, чтобы он допускал различный порядок элементов, то я не могу установить maxOccurs как неограниченный, поскольку это не разрешено для xs: all.
Есть ли способ разрешить как различный порядок элементов, так и maxOcurance как неограниченные?