Page 1 of 1

Require non-empty sequence

Posted: Thu Jul 29, 2010 12:48 pm
by ra0543
I'm using Schema to define the structure of my XML. At this stage it's not going to be easy to switch to a different metalanguage.

Can I define an element <parent> that has a sequence of child elements which are individually optional (i.e. no specific one is required) but where at least one has to be present?

So the following are OK:


but the following are invalid:

I think this is impossible using just Schema, but perhaps I'm missing some easy way of doing it.

Re: Require non-empty sequence

Posted: Mon Aug 02, 2010 9:27 am
by george
You can define that as a choice of

a followed by the other optional elements (b, c, d, etc.)
b followed by the other optional elements (c, d, etc.)
c followed by the other optional elements (d, etc.)

If you have 4 elements then in DTD like notation that will be

(a, b?, c?, d?) | (b, c?, d?) | (c, d?) | d

Best Regards,