OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Schema constraint

Phil Ruelle wrote:
> Can anyone tell me if it's possible to write a constraint with XML
> Schema to enforce that for an element with two child elements at
> least one of them exists? (I thought this had been asked before but
> couldn't find it in the archives)

No you can't.

The usual 3 solutions for this kind of issue apply:

1) Define a Schematron rule within a W3C XML Schema annotation.
2) Use another schema language.
3) Add a xsi:type attribute in your instance document to say in which
case you are (element 1 or element 2 mandatory).

> On a related note, why would somene choose to use <group>
> rather than a complex type? I can't help but think I've missed
> something as groups seem to be a limited (must be global, no
> attributes) version of complex types.

They are less powerful in a sense since you don't specify attributes in
an element group, OTH you can use several of them together within a
single sequence or choice where you can't "join" several complex types.

Hope this helps.

> TIA,
> Phil Ruelle
See you at XTech in San Diego.
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
http://xsltunit.org      http://4xt.org           http://examplotron.org