Schemavalidering (.xsd) fri rækkefølge men med bounds
Kan man på nogen måde lave en .xsd hvor felterne kan stå i en vilkårlig rækkefølge men hvor der stadig er mulighed for at angive maxoccurs > 1?Uddybning
Denne XSD er korrekt:
<xs:complexType>
<xs:all>
<xs:element name="Felt1"
type="xs:string"
minOccurs="0" maxOccurs="1" />
<xs:element name="Felt2"
type="xs:string"
minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
Men den validerer ikke min XML korrekt, idet Felt2 kan forekomme mere end 1 gang.
Jeg prøver så at angive maxOccurs > 1, men det giver fejl:
<xs:complexType>
<xs:all>
<xs:element name="Felt1"
type="xs:string"
minOccurs="0" maxOccurs="1" />
<xs:element name="Felt2"
type="xs:string"
minOccurs="0" maxOccurs="2" />
</xs:all>
</xs:complexType>
Den eneste måde jeg kan overkomme dette problem er at bruge xs:sequence, med den hage at rækkefølgen på mine felter bliver fast, og det ønsker jeg ikke:
<xs:complexType>
<xs:sequence>
<xs:element name="Felt1"
type="xs:string"
minOccurs="0" maxOccurs="1" />
<xs:element name="Felt2"
type="xs:string"
minOccurs="0" maxOccurs="2" />
</xs:sequence>
</xs:complexType>
Hvad kan man så gøre?