RE: [xml-dev] XML-Schema Help

From
Ranjeet Sonone <>
To
Priscilla Walmsley <>, Dave Yancey <>
Date
2002-08-16T20:34:49Z
ID
<>
Thread
RE: [xml-dev] XML-Schema Help
consider this:

<xsd:complexType name="timeframeType">
	<xsd:choice>
		<xsd:group   ref="both"/>
		<xsd:group   ref="oneorother"/>
	</xsd:choice>
</xs:complexType>

<xsd:group name="both">
  <xsd:sequence>
    <xsd:element ref="earliestdate"/>
    <xsd:element ref="latestdate"/>
  </xsd:sequence>
</xsd:group>

<xsd:group name="oneorother">
  <xsd:choice>
    <xsd:element ref="earliestdate"/>
    <xsd:element ref="latestdate"/>
  </xsd:choice>
</xsd:group>


-----Original Message-----
From: Priscilla Walmsley [mailto:]
Sent: Friday, August 16, 2002 1:18 PM
To: 'Dave Yancey'
Cc: 
Subject: RE: [xml-dev] XML-Schema Help


Sorry David,

This is still non-deterministic because when the parser encounters a
description element, it does not know which branch of the content model
to take.  I think what you want is:


> <xs:complexType name="timeframeType">
    <xs:sequence>
	<xs:element ref="description" minOccurs="0"/>
> 	<xs:choice>
> 		<xs:sequence>
> 			<xs:element ref="earliestdate"/>
> 			<xs:element ref="latestdate" minOccurs="0"/>
> 		</xs:sequence>
> 		<xs:element ref="latestdate"/>
> 	</xs:choice>
    </xs:sequence>
> </xs:complexType>


Hope that helps,
Priscilla
-----------------------------------------------------
Priscilla Walmsley             
Author, Definitive XML Schema     (Prentice Hall PTR)
----------------------------------------------------- 

> -----Original Message-----
> From: Dave Yancey [mailto:] 
> Sent: Friday, August 16, 2002 4:11 PM
> To: ; 
> Cc: ; 
> Subject: Re: [xml-dev] XML-Schema Help
> 
> 
> Thanks to all who helped.
> 
> I apologize for not being clear on what I was looking for. I 
> wasn't positive 
> it could be done for I am new to Schemas.  But thanks to 
> everyones help 
> below is what I have and is doing exactly what I needed.
> 
> 
> 
> <xs:complexType name="timeframeType">
> 	<xs:choice>
> 		<xs:sequence>
> 			<xs:element ref="description" minOccurs="0"/>
> 			<xs:element ref="earliestdate"/>
> 			<xs:element ref="latestdate" minOccurs="0"/>
> 		</xs:sequence>
> 		<xs:sequence>
> 			<xs:element ref="description" minOccurs="0"/>
> 			<xs:element ref="earliestdate" minOccurs="0"/>
> 			<xs:element ref="latestdate"/>
> 		</xs:sequence>
> 	</xs:choice>
> </xs:complexType>
> 
> 
> ----
> David Yancey
> 
> 
> 
> _________________________________________________________________
> Send and receive Hotmail on your mobile device: http://mobile.msn.com
> 
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
> 
> 


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>