[
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>
>
>
|