Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - RE: How ensure group elements exist and in any order >Thread Next - RE: How ensure group elements exist and in any order Re: How ensure group elements exist and in any orderTo: Michael Kay <mike@--------.---> Date: 10/6/2004 7:22:00 AM
But the all group would allow also none of the elements.
I think a choice is fine but as outlined in previous email is ambiguous.
In general the following should be enough:
(a, b?) | (b, a?)
You get at least one element and at most one of either a or b. The
number of permutations increases rapidly with more than two elements...
-Anli
On 10/6/2004 11:00 AM, Michael Kay wrote:
> Provided each element can appear at most once, you can do this with xsd:all.
> The elements can be optional or mandatory, but not repeated (rather like
> attributes, really).
>
> Michael Kay
> http://www.saxonica.com/
>
>
>>-----Original Message-----
>>From: xmlschema-dev-request@w...
>>[mailto:xmlschema-dev-request@w...] On Behalf Of Gary Fix
>>Sent: 06 October 2004 15:18
>>To: xmlschema-dev@w...
>>Subject: How ensure group elements exist and in any order
>>
>>
>>Hi,
>>When a group of elements ("VINGroup") is present in my xslt
>>file, I want to confirm that all members of the group are
>>present but they may be in any order (sequence)...
>>Is there a way do this in the xsd?
>>This is what I have so far but it forces the VINGroup
>>elements to be in a specific order...
>>thanks in advance,
>>gary...
>>
>><xsd:element name="Vehicle">
>> <xsd:complexType>
>> <xsd:sequence>
>> <xsd:choice minOccurs="1" maxOccurs="1">
>> <!-- Case #1: VIN &
>>Body/Make/Model Group Supplied -->
>> <xsd:sequence>
>> <xsd:element
>>ref="VehicleIdentificationNumber"/>
>> <xsd:group
>>ref="VINGroup" minOccurs="1" maxOccurs="1"/>
>> </xsd:sequence>
>> <!-- Case #2: VIN Only Supplied -->
>> <xsd:sequence>
>> <xsd:element
>>ref="VehicleIdentificationNumber" minOccurs="1"/>
>> </xsd:sequence>
>> <!-- Case #3: Body/Make/Model
>>Group Only Supplied -->
>> <xsd:sequence>
>> <xsd:group
>>ref="VINGroup" minOccurs="1" maxOccurs="1"/>
>> </xsd:sequence>
>> </xsd:choice>
>> </xsd:sequence>
>> </xsd:complexType>
>></xsd:element>
>><xsd:group name="VINGroup">
>> <xsd:sequence>
>> <xsd:element name="Body" type="xsd:string"/>
>> <xsd:element name="Make" type="xsd:string"/>
>> <xsd:element name="Model" type="xsd:string"/>
>> </xsd:sequence>
>></xsd:group>
>>
>>
>>
>
>
--
Anli Shundi ashundi@t...
TIBCO Software Inc. office: (919) 969-6518
www.tibco.com
Get Firefox! http://www.mozilla.org/products/firefox/
From mike@s... Wed Oct 06 15:52:17 2004
Received: from bart.w3.org ([128.30.52.40])
by frink.w3.org with esmtp (Exim | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
