[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Unrestricted order and cardinality?
I´ve had a look at RELAX NG and it certainly does look like I can better describe the data required. I have suggested it to my boss who never heard of it and so not knowing that much about it yet, I need more information on how to work with RELAX NG: Does one just use the grammar of RELAX NG at urls "http://relaxng.org/ns/structure/1.0" and datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" instead of XML Schema at "http://www.w3.org/2001/XMLSchema" and xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" how easy is it to translate an existing XML Schema to RELAX NG e.g. are there any tools for this? obviously I will need to describe with different syntax the aspects which couldn´t really be describe with in XML Schema, but can other elements and be quickly converted? thank you! Marie Louise --- Eric van der Vlist <vdv@d...> wrote: > 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 > ------------------------------------------------------------------------ > ___________________________________________________________ All New Yahoo! Mail ? Tired of Vi@gr@! come-ons? Let our SpamGuard protect you. http://uk.docs.yahoo.com/nowyoucan.html
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|