Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - xs:choice question [Thread Next] Re: xs:choice questionTo: "Markus Gamperl" <markus.gamperl@---.--> Date: 6/27/2007 11:52:00 AM
If the order of a and b doesn't matter, then:
<xs:all>
<xs:element name="a" type="xs:string" minOccurs="0"/>
<xs:element name="b" type="xs:string" minOccurs="0"/>
</xs:all>
If when both are present, the "a" must come first:
<xs:sequence>
<xs:element name="a" type="xs:string" minOccurs="0"/>
<xs:element name="b" type="xs:string" minOccurs="0"/>
</xs:sequence>
The reason for the editor error in your model is that when an <a> shows up =
as the first element in your instance, a parser can't know with out
looking further into the document whether to match the first or second
reference to "a" in your content model. Schemas that raise such
challenges violate what the Schema Recommendation calls the Unique
Particle Attribution constraint, or in the terms of the error message, are =
to some degree nondeterministic. Anyway, your schema is not a legal one,
which is why the editor is complaining.
Noah
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
"Markus Gamperl" <markus.gamperl@g...>
Sent by: xmlschema-dev-request@w...
06/27/2007 03:21 PM
To: xmlschema-dev@w...
cc: (bcc: Noah Mendelsohn/Cambridge/IBM)
Subject: xs:choice question
Hello!
I have the following xml fragment example:
<data>
<a>a test</a>
<b>b test</a>
<data>
the schema should check the following rules (three options):
- element a must exist, b may not
- element b must exist, a may not
- element a and b must exist
Therefor I have defined the following choice:
...
<xs:choice>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string"/>
<xs:sequence>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string"/>
</xs:sequence>
</xs:choice>
...
The xml editor raises an error - something about non determenistic
declaration...
Do you have a suggestion how to define these three rules?
Thanks for your help!
Markus
--
Psssst! Schon vom neuen GMX MultiMessenger geh=F6rt?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger
From petexmldev@t... Thu Jun 28 11:16:15 2007
Received: from aji.w3.org ([133.27.228.225])
by frink.w3.org with esmtp (Exim 4. | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
