[
Lists Home |
Date Index |
Thread Index
]
- To: Eric van der Vlist <vdv@dyomedea.com>, xml-dev@lists.xml.org
- Subject: Re: [xml-dev] Unrestricted order and cardinality?
- From: Marielou <marielou_h@yahoo.co.uk>
- Date: Thu, 22 Jun 2006 10:53:45 +0100 (BST)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.co.uk; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=iF1QjAHpxqF0Gx2Tmuv4Kjk5lNBDMYP4sJW9hHt+fuu1mVGQqBg3xZRycJ69yiZC19WH6/bIgoniMcDueVEBkk4AICIRZlkQldKMaSeIObIkfJ50xK1k/VzeDCsObJVgyVp6EKJ9DZRsAB5nH0kkKvpIUr69Naf5FXA/O+iUL1U= ;
- In-reply-to: <1150897065.5966.18.camel@localhost.localdomain>
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@dyomedea.com> 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
|