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] Unrestricted order and cardinality?

[ Lists Home | Date Index | Thread Index ]

Le mercredi 21 juin 2006 à 14:21 +0100, Marielou a écrit :
> Funny thing is, the description used to be written in
> a DTD, but my boss now wants a schema! 

Did he tell which one? If not, give him a RELAX NG schema, that will
make your life much easier :) ...

> When I use <choice> in a schema, I find it works when
> all element occurrences are unrestricted, 

Yes, that's how I understood your requirements in your first mail. 

> but I have
> several child elements to describe each with different
> cardinality, all are unrestricted in the order. So I
> tried with maxOccurs="unbounded" on the <choice> and a
> limit on the elements but I find that the maxOccurs on
> the <choice> takes priortiy over element occurrences
> so maxOccurs e.g below
> 
> <xs:element name="parentA">
> <xs:complexType>
> <xs:choice minOccurs="0" maxOccurs="unbounded">
> <xs:element ref="childB" minOccurs="1" maxOccurs="1"/>
> <xs:element ref="childC"  minOccurs="1"
> maxOccurs="7"/>
> <xs:element ref="childD" minOccurs="1" maxOccurs="4"/>
> <xs:element ref="childE" minOccurs="1"
> maxOccurs="unbounded"/>
> ...
> </xs:choice>
> </xs:complexType>
> </xs:element>
> 
> lets all elements occur unbounded and ignores that
> e.g. B should only occur 1x. If I remove "unbounded"
> from the <choice>, I cant get past the first element! 

Yep, that's how xs:choice is supposed to work. What you need would be
xs:all without the restrictions imposed to this composer in the W3C XML
Schema recommendation but such a thing doesn't exist.

If you can use RELAX NG, this is trivial using an interleave pattern.

Eric

-- 
GPG-PGP: 2A528005
Weblog:
                 http://eric.van-der-vlist.com/blog?t=category&a=English
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------

Ceci est une partie de message=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=





 

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

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