[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Choice of sub-element or character-data in an element

From: Michael Kay <mike@saxonica.com>
Date: Tue, 24 Jun 2008 00:34:13 +0100
To: "'Arshad Noor'" <arshad.noor@strongauth.com>, "'Koray SAKIROGLU'" <koray.sakiroglu@gmail.com>
Cc: <xmlschema-dev@w3.org>
Message-ID: <D8B30CF1DE6E4E9DB386752AE9443583@Sealion>
RE: Choice of sub-element or character-data in an element

> >  From what I understood you want something like this :
> > 
> > 
> >     <xsd:element name="elementA">
> >         <xsd:complexType>
> >             <xsd:choice>
> > 
> >                 <xsd:element name="elementB">
> >                     <xsd:complexType>
> >                         <xsd:sequence>
> >                             <xsd:element name="elementC" 
> type="xsd:string"/>
> >                             <xsd:element name="elementD" 
> type="xsd:string"/>
> >                         </xsd:sequence>
> >                     </xsd:complexType>
> >                 </xsd:element>
> > 
> >                 <xsd:element ref="elementB" />
> > 
> >             </xsd:choice>
> >         </xsd:complexType>

You can't have two elementB particles in the same content model with
different types. When the validator sees an element named elementB in the
input, it has to be able to go to the schema and discover what its expected
type is.

In Schema 1.1 you can do this with assertions. Define a type with mixed
content and two optional child elements, and then define an assertion to
make the elements and the text mutually exclusive.

But I still think it's not a very good document design.

Michael Kay
Received on Monday, 23 June 2008 23:47:40 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.