Lists Home |
Date Index |
> I'm somewhat new to Relax NG, but reading through it's primer doc it
> appeared that the Order of the Elements was also strictly
> governed by the
> schema (in other words, you can't do this in RelaxNG either).
It's not, although by default it is. To declare child elements as
unordered, place them in an <interleave> element.
> Which brings
> the question, WHY? Why do the schema languages care about the particular
> order of the XML nodes?
In the case of XML Schema, nested unordered content can play havoc with
determining the validity of an element instance in a content model. I might
be able to give you an example if it weren't Monday... but it's true, I
> I can see the advantages of having this as an option
> (i.e. something like <sequence order="fixed"> or something) but to make it
> requirement seems to backwards for most XML usages.
There was an excellent thread on this last week. Basically, the argument
a) if order doesn't matter, choose one (because it doesn't matter!)
b) if order does matter, declare the correct order
I'm paraphrasing a), but I believe there is a circularity to the argument
even when it's more intelligently phrased, which is why I hesitate to
embrace it wholeheartedly. I'm coming around, though, since I can see where
it sometimes make processing must faster and validation easier when there is
a declared fixed order to content. And supplying fixed order is always easy
for the content generator (I suppose); thus one should do so.
Someone may come along momentarily to give a more literate answer. Let's