- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Sat, 1 Dec 2001 13:39:20 +0000
- To: "Mason Lee" <mgl@netspace.org>
- CC: xmlschema-dev@w3.org, erik.beijnoff@addsystems.com, 2kseema@sun20.datamatics.com
Hi Mason, > Hi all! I saw Erik Beijnoff's good answer to the above question in a > recent thread. I wonder further, however, how could this complex > type be defined such that the elements "TextBox" and "TextArea" may > appear any number of times, but the element "Header" must appear > only once, and while retaining the interesting characteristic that > any of these three clild elements may appear in any order. Any > ideas? Assuming that you don't care if the TextBox and TextArea elements are intermingled, and there's no minimum number of occurrences of TextBox and TextArea, you could use the following: <xs:complexType name="FormType"> <xs:sequence> <xs:group ref="TextBoxOrTextArea" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="Header" type="HeaderType" /> <xs:group ref="TextBoxOrTextArea" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:group name="TextBoxOrTextArea"> <xs:choice> <xs:element name="TextBox" type="TextBoxType" /> <xs:element name="TextArea" type="TextAreaType" /> </xs:choice> </xs:group> (Using a group so that you only have to declare TextBox and TextArea once.) Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/
Received on Saturday, 1 December 2001 09:05:03 UTC