- From: Mukul Gandhi <gandhi.mukul@gmail.com>
- Date: Sun, 19 Feb 2006 13:08:40 +0530
- To: "Ramkumar Menon" <ramkumar.menon@gmail.com>
- Cc: xmlschema-dev@w3.org
You can try something like this. i.e. use xs:choice to select one among all the permutations. <xs:element name="x"> <xs:complexType> <xs:choice> <xs:sequence> <xs:element name="a" type="xs:string"/> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> <xs:sequence> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> <xs:element name="a" type="xs:string"/> </xs:sequence> </xs:choice> </xs:complexType> This works for this simple case. But once I make it slightly more complex as shown below (by introducing another element c), the XSD validator(XMLSpy 2006) reports that schema is not valid. It says "content model is non-deterministic. Possible causes: name equality, overlapping occurence or substitution groups". <xs:element name="x"> <xs:complexType> <xs:choice> <xs:sequence> <xs:element name="a" type="xs:string"/> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> <xs:element name="c" type="xs:string"/> </xs:sequence> <xs:sequence> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> <xs:element name="a" type="xs:string"/> <xs:element name="c" type="xs:string"/> </xs:sequence> <xs:sequence> <xs:element name="a" type="xs:string"/> <xs:element name="c" type="xs:string"/> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> <xs:sequence> <xs:element name="c" type="xs:string"/> <xs:element name="a" type="xs:string"/> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> <xs:sequence> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> <xs:element name="c" type="xs:string"/> <xs:element name="a" type="xs:string"/> </xs:sequence> <xs:sequence> <xs:element name="c" type="xs:string"/> <xs:element name="b" type="xs:string" maxOccurs="unbounded"/> <xs:element name="a" type="xs:string"/> </xs:sequence> </xs:choice> </xs:complexType> </xs:element> I am curious, is the validation happening correctly(for the case a, b, c), or is this bug in the validator? Regards, Mukul On 2/18/06, Ramkumar Menon <ramkumar.menon@gmail.com> wrote: > Hi, > > is it possible to ignore the document order while using schema validator to > validate an XSD ? > If not, is there an alternative to the following issue ? > I have an element that has a set of elements witihn it, one of them being > maxOccurs="unbounded". Since I wanted to use the "xsd:all" group so that I > can assume unordered child nodes, the node with maxOccurs="unbounded" > prevents me from making such a definition. > > Any help will be appreciated. > pls reply direcly to my email id, since I am not on this mailing list. > > rgds, > Ram > > -- > Shift to the left, shift to the right! > Pop up, push down, byte, byte, byte! > > -Ramkumar Menon > A typical Macroprocessor
Received on Sunday, 19 February 2006 10:06:19 UTC