W3C home > Mailing lists > Public > xmlschema-dev@w3.org > June 2002

RE: mixing orderer and unordered elements

From: Robin La Fontaine <robin@monsell.co.uk>
Date: Wed, 12 Jun 2002 15:20:20 +0000
Message-Id: <a05111714b92d162b0d4f@[10.10.10.40]>
To: Mark Feblowitz <mfeblowitz@frictionless.com>, "'Torsten Curdt'" <tcurdt@dff.st>, xmlschema-dev@w3.org

In this type of situation I have found it is better to introduce a 
wrapper element to make it absolutely clear and avoid the complex 
structure. An extra element is cheap compared to having errors, and 
it is usually much easier to process with XSL, for example. It also 
makes it easier to compare the files and find changes (which is our 
business!).

It is a real shame that XML Schema has no way to indicate whether 
order is important or not. Choice does not tell you that.

Robin

At 9:52 am -0400 12/6/02, Mark Feblowitz wrote:
>Ah - I wondered about that. Then you'd have to go with something more like
>
><xs:element name="Root">
>		<xs:complexType>
>			<xs:sequence>
>				<xs:element name="Seq1"/>
>				<xs:element name="Seq2"/>
>				<xs:choice>
>					<xs:sequence>
>						<xs:element
>name="Unordered1" minOccurs="0" maxOccurs="unbounded"/>
>						<xs:element
>name="Unordered2" minOccurs="0" maxOccurs="unbounded"/>
>					</xs:sequence>
>					<xs:sequence>
>						<xs:element
>name="Unordered2" minOccurs="0" maxOccurs="unbounded"/>
>						<xs:element
>name="Unordered1" minOccurs="0" maxOccurs="unbounded"/>
>					</xs:sequence>
>				</xs:choice>
>			</xs:sequence>
>		</xs:complexType>
>	</xs:element>
>
>Any number of Unordered1's followed by any number of Unordered2's, or
>Any number of Unordered2's followed by any number of Unordered1's
>
>Does that sound more like it?
>
>Mark Feblowitz                                  
>XML Architect
>        [t]   617.715.7231                                    
>        [f]   617.495.0188
>Frictionless Commerce Incorporated
>        [e]  mfeblowitz@frictionless.com
>        [w] http://www.frictionless.com
>        [m] 400 Technology Square, 9th Floor
>              Cambridge, MA 02139
>Open Applications Group Incorporated
>        [e]  mfeblowitz@openapplications.org
>        [w] http://www.openapplications.org
>
>  -----Original Message-----
>From:	Torsten Curdt [mailto:tcurdt@dff.st]
>Sent:	Wednesday, June 12, 2002 3:58 AM
>To:	Mark Feblowitz; xmlschema-dev@w3.org
>Subject:	Re: mixing orderer and unordered elements
>
>Hi, Mark,
>
>thanks for the suggestion but
>
>On Tuesday 11 June 2002 17:14, Mark Feblowitz wrote:
>>  How about:
>>
>>	<xs:element name="Root">
>>		<xs:complexType>
>>			<xs:sequence>
>>				<xs:element name="Seq1"/>
>>				<xs:element name="Seq2"/>
>>				<xs:sequence>
>>					<xs:choice maxOccurs="unbounded">
>>						<xs:element
>>  name="Unordered1"/>
>>						<xs:element
>>  name="Unordered2"/>
>>					</xs:choice>
>>				</xs:sequence>
>>			</xs:sequence>
>>		</xs:complexType>
>>	</xs:element>
>
>wouldn't that also allow:
>
>   <Root>
>      <Seq1/>
>      <Seq2/>
>      <Unordered2/>
>      <Unordered1/>
>      <Unordered2/>
>   </Root>
>
>which is not what I want...
>--
>Torsten


-- 
-- -----------------------------------------------------------------
Robin La Fontaine, Director, Monsell EDM Ltd
DeltaXML: "Change control for XML in XML"
Tel: +44 1684 592 144 Fax: +44 1684 594 504
Email: robin.lafontaine@deltaxml.com      http://www.deltaxml.com
Received on Wednesday, 12 June 2002 10:22:48 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:31 GMT