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

RE: choice with a single choice

From: Ralf Lammel <Ralf.Lammel@microsoft.com>
Date: Wed, 14 Jun 2006 01:41:23 -0700
Message-ID: <1152E22EE8996742A7E36BBBA7768FEE0A034307@RED-MSG-50.redmond.corp.microsoft.com>
To: "Florent Georges" <darkman_spam@yahoo.fr>, <xmlschema-dev@w3.org>

Since composites and element declarations do not live in the same `syntactic' category (in particular, the latter cannot occur directly under a complexType element whereas the former can), one has to make *some* "choice" -- be it choice or sequence. For some reason, people prefer the choice "sequence" rather than the choice "choice"; however semantically these two choices are identical as long as these compositors are used in their degenerated form, i.e., when there is only one child, as it is the case for the example at hand. In fact, there is a notion of "pointless" particles (composites), which however cannot be applied here exactly for the reason of XSD's mysterious distinction of expressions below complexType vs. expressions for content models in general ... EBNF makes my head hurt much less.

HTH,
Ralf Lammel


> -----Original Message-----
> From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org]
> On Behalf Of Florent Georges
> Sent: Wednesday, June 14, 2006 12:50 AM
> To: xmlschema-dev@w3.org
> Subject: xs:choice with a single choice
> 
> 
>   Hi
> 
>   I just saw the following complex type definition in the
> last XQTS (XQuery Test Suite 0.9.4) XQTSCatalog.xsd:
> 
>     <xs:complexType>
>       <xs:choice maxOccurs="unbounded">
>         <xs:element name="citation-spec" maxOccurs="unbounded">
>           <xs:complexType>
>             <xs:complexContent>
>               <xs:extension base="test:infoBase">
>                 <xs:sequence>
>                   <xs:element name="spec-URI" type="xs:anyURI"/>
>                 </xs:sequence>
>                 <xs:attribute name="name" use="required"
>                               type="test:citation-spec-enum"/>
>               </xs:extension>
>             </xs:complexContent>
>           </xs:complexType>
>         </xs:element>
>       </xs:choice>
>     </xs:complexType>
> 
>   I wonder if there is any reason to use a choice with a
> single element.  Any idea?
> 
>   Regards,
> 
> --drkm
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> En finir avec le spam? Yahoo! Mail vous offre la meilleure protection
> possible contre les messages non sollicitÚs
> http://mail.yahoo.fr Yahoo! Mail
Received on Wednesday, 14 June 2006 08:41:57 GMT

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