I know about all
and choice
, but they don't account for a case where I do want some elements to be able to occur more than once, such as:
<Root>
<ThingA/>
<ThingB/>
<ThingC/>
<ThingC/>
<ThingC/>
</Root>
I could use sequence
, but I'd prefer to allow these children to be in any order. I could use any
, but then I couldn't have more than one ThingC
. I could use choice
, but then I couldn't limit ThingA
and ThingB
to 0 or 1.
I think I may have read somewhere that this was either difficult or impossible in XSD, but might be possible with RELAX NG. I don't remember where I read that, unfortunately.
Thanks for any help!