OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] XML schema cos-nonambig problem

[ Lists Home | Date Index | Thread Index ]

Sure - the issue here is that when the XML schema processor encounters a
"major" element, it has no way of determining (without doing a
"look-ahead") which "choice" set is used. The fact that it has to look
ahead (which W3C schema processors cannot do) means that there is
non-determinism. However, if the complex type were changed to look as
follows:

> >>       <xs:complexType name="contentiddef">
> >> 		<xs:choice>
> >> 			<xs:choice minOccurs="0" maxOccurs="unbounded">
> >> 				<xs:element ref="x:externalid"/>
> >> 				<xs:element ref="x:major"/>
> >> 			</xs:choice>
> >> 			<xs:choice minOccurs="0" maxOccurs="unbounded">
> >> 				<xs:element ref="x:major"/>
> >> 				<xs:element ref="x:minor"/>
> >> 				<xs:element ref="x:version"/>
> >> 			</xs:choice>
> >> 		</xs:choice>
> >> 	</xs:complexType>

the XML schema processor would know which choice set it is in when it
encounters a "major" element because if it first encountered an
"externalID" element (which must remain mandatory - as it is above - in
order for this to work) it knows that it must be in the first choice
set; otherwise, it must be in the second.

Hope that helps,
Joe

Joseph Chiusano
Associate
Booz Allen Hamilton
 
700 13th St. NW, Suite 1100
Washington, DC 20005
O: 202-508-6514  
C: 202-251-0731
Visit us online@ http://www.boozallen.com
 

> -----Original Message-----
> From: Niels Peter Strandberg [mailto:nielspeter@npstrandberg.com] 
> Sent: Friday, December 16, 2005 11:14 AM
> To: xml-dev@lists.xml.org
> Subject: Re: [xml-dev] XML schema cos-nonambig problem
> 
> Im not sure what you mean! Could you show me, on the xml 
> snippet below?
> 
> Niels Peter
> 
> 
> Den 16/12/2005 kl. 17.03 skrev Chiusano Joseph:
> 
> > In your first choice set, if you reverse the 2 elements that will 
> > remove the non-determinism - but only if the "externalid" element 
> > remains declared as mandatory.
> >
> > Joe
> >
> > Joseph Chiusano
> > Associate
> > Booz Allen Hamilton
> >
> > 700 13th St. NW, Suite 1100
> > Washington, DC 20005
> > O: 202-508-6514
> > C: 202-251-0731
> > Visit us online@ http://www.boozallen.com
> >
> >
> >> -----Original Message-----
> >> From: Niels Peter Strandberg [mailto:nielspeter@npstrandberg.com]
> >> Sent: Friday, December 16, 2005 10:53 AM
> >> To: xml-dev@lists.xml.org
> >> Subject: [xml-dev] XML schema cos-nonambig problem
> >>
> >> This error message below is reported back from Xerces. The 
> problem is 
> >> the "major" element. How can I reconstruct my XML Schema so that I 
> >> can avoid this error?
> >>
> >> cos-nonambig:
> >> "http://www.polopoly.com/polopoly/cm/app/xml":major and 
> >> "http://www.polopoly.com/polopoly/cm/app/xml":major (or 
> elements from 
> >> their substitution group) violate "Unique Particle Attribution".
> >> During validation against this schema, ambiguity would be 
> created for 
> >> those two particles.
> >> 		
> >>
> >>       <xs:complexType name="contentiddef">
> >> 		<xs:choice>
> >> 			<xs:choice minOccurs="0" maxOccurs="unbounded">
> >> 				<xs:element ref="x:major"/>
> >> 				<xs:element ref="x:externalid"/>
> >> 			</xs:choice>
> >> 			<xs:choice minOccurs="0" maxOccurs="unbounded">
> >> 				<xs:element ref="x:major"/>
> >> 				<xs:element ref="x:minor"/>
> >> 				<xs:element ref="x:version"/>
> >> 			</xs:choice>
> >> 		</xs:choice>
> >> 	</xs:complexType>
> >>
> >> Thanks!
> >>
> >> Niels Peter
> >>
> >>
> >> -----------------------------------------------------------------
> >> 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://www.oasis-open.org/mlmanage/index.php>
> >>
> >>
> 
> 
> -----------------------------------------------------------------
> 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://www.oasis-open.org/mlmanage/index.php>
> 
> 




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS