W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2000

Re: LC-16 ( LC-132 ): Allow arbitrary order with occurrence > 1

From: James Clark <jjc@jclark.com>
Date: Tue, 17 Oct 2000 13:24:58 +0700
Message-ID: <39EBF0BA.B0EC0BED@jclark.com>
To: "C. M. Sperberg-McQueen" <cmsmcq@acm.org>
CC: www-xml-schema-comments@w3.org, "Martin J. Duerst" <duerst@w3.org>
> From: C. M. Sperberg-McQueen (cmsmcq@acm.org)
> Date: Mon, Oct 16 2000
> In a content model like (a,b,c,d,e) there are no inferences to be
> drawn from the fact that instance documents have elements in a
> particular order.  In a content model like (a & b & c & d & e),
> the order of elements in the instance is subject to the control
> of the user and may be used to convey information.  If there is no
> information to be conveyed, then (a,b,c,d,e) would do as well,
> and in most editors somewhat better.

[I am going to butt in here, since I raised this issue a long time at


You have asserted on a couple of occasions the general principle that if
the order of child elements is insignificant, it is better for a
language to require a particular order than to allow the user a free
choice.  Apart from this case, you have also appealed to it to justify
the bizarre requirement that attribute declarations follow element
declarations within a complex type.

I would like to register my strong disagreement with this.

It is a design goal of many XML vocabularies to allow convenient
authoring with a regular editor, and not to require a specialized XML
editor.  When there are many different child element types, requiring a
particular order is a significant inconvenience for authoring without an
XML editor: a user has either to remember the order or continually refer
to documentation.  Schemas should not just be for XML vocabularies that
will be created with XML authoring support.

Consider the case where an A element can have multiple B elements and
multiple C elements, but the relative order of the children is not
significant. Requiring all the Bs to be before all the Cs or vice-versa
could have a very negative effect upon readability and maintainability,
especially if particular Bs are related to particular Cs.  In such a
case, authors want to be able to group related Bs and Cs together. Would
it be an improvement if DTDs required all ELEMENT declarations to occur
before all ATTLIST declarations or vice-versa?

Received on Tuesday, 17 October 2000 02:43:56 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:08:49 UTC