I have such xsd. These all fields can exist or not and in unpredictable order.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="request">
<xs:complexType>
<xs:all minOccurs="0">
<xs:element ref="field1"/>
<xs:element ref="field2"/>
<xs:element ref="field3"/>
<xs:element ref="field4"/>
<xs:element ref="field5"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
field4 doesn't exist in xml and validator says that he is waiting for field4, but he shouldn't say this. So what is wrong?
w3cschools.com says
<xs:element name="person">
<xs:complexType>
<xs:all minOccurs="0">
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
The example above indicates that the "firstname" and the "lastname" elements can appear in any order and each element CAN appear zero or one time!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…