Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - Help on XSD for a xml >Thread Next - Re: Help on XSD for a xml RE: Help on XSD for a xmlTo: "'Vijay Anand'" <vijay.gunasekaran@-----.--->, <xmlschema-dev@--.--->, Date: 8/21/2009 9:37:00 AM >
> The following is my xml for which I require to write the xsd schema
>
> <type>
> <foo/>
> <bar/>
> </type>
>
> In the above xml for type element the following conditions
> should be satisfied 1] Atleast one element either foo or bar
> must be present 2] foo or bar can have a maximum occurance of
> one 3] Both foo and bar can be present
>
You don't say whether you want to allow <bar/><foo/>.
In XSD 1.0, you have to spell it out:
<xs:choice>
<xs:sequence>
<xs:element name="foo"/>
<xs:element name="bar" minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element name="bar" minOccurs="0"/>
</xs:sequence>
</xs:choice>
In XSD 1.1 it's simpler to write
<xs:sequence>
<xs:element name="foo" minOccurs="0"/>
<xs:element name="bar" minOccurs="0"/>
</xs:sequence>
<xs:assert test="exists(*)"/>
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
