- From: Asleson, Ryan <asleson@BIWORLDWIDE.com>
- Date: Mon, 23 Aug 2004 07:42:38 -0500
- To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
Hello, My apologies if this isn't the correct place to ask this question, but I didn't know where else to go. Suppose I have a simple XML document that looks like this: <?xml version="1.0"?> <family> <father>Jack</father> <mother>Jill</mother> <son>Billy</son> <son>Joey</son> <daughter>Jane</daughter> <pet>Fido</pet> </family> The above XML is successfully validated by the schema shown below: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="father" type="xs:string"/> <xs:element name="mother" type="xs:string"/> <xs:element name="son" type="xs:string"/> <xs:element name="daughter" type="xs:string"/> <xs:element name="pet" type="xs:string"/> <xs:element name="family"> <xs:complexType> <xs:sequence> <xs:element ref="father" minOccurs="0"/> <xs:element ref="mother" minOccurs="0"/> <xs:element ref="son" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="daughter" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="pet" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> However, if the XML document is changed so that the "pet" element occurs before the "daughter" element, a validation error is thrown. The error states that all instances of "pet" must occur after any instances of "daughter." This is the problem. I don't want the order of child elements within the "family" element to matter, or be validated. I don't care what order the father, mother, son, daughter, and pet tags are in, nor do I want to validate the order. How can I specify this in the XML schema? According to the documentation I've seen, the complexType tag must use an occurrence indicator of all, choice, or sequence. All might work, since order doesn't matter, but apparently it specifies that each child element can occur once and only once once, which doesn't work. Choice doesn't work because only one of the elements can appear. Sequence might work because it allows me to specify multiple occurrences of child elements, but it enforces the order of the child elements, which I don't want. How can I specify this complex type in the XML schema? I'm sure it can be done, I'm just not sure how. Thank you very much!! This e-mail message is being sent solely for use by the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by phone or reply by e-mail, delete the original message and destroy all copies. Thank you.
Received on Monday, 23 August 2004 12:44:41 UTC