- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 24 Aug 2004 17:35:19 -0400
- To: Jeni Tennison <jeni@jenitennison.com>
- Cc: Mik Lernout <mik@futurestreet.org>, xmlschema-dev@w3.org
Jeni Tennison writes: > My philosophy is that the main things that > should influence the design of a markup language > are (...): human readability, size, processing > efficiency, and extensibility. > It seems foolish to artificially constrain a > markup language because of the weaknesses of > one particular schema language I agree, for the most part. On the other hand, I think you have perhaps underemphasized fidelity of the markup to the underlying semantics of the information to be processed. Thus, independent of schema language, one can argue that: <list> <item>val1</item> <item>val2</item> <item>val3</item> </list> is more robust than: <list>val1 val2 val3</list> Tools like XQuery/XSL will have an easier time picking up the explicit markup of the more verbose form. Though I can see it either way, one can make the case in that spirit for the following "improvement" to the example in question: Original: <family> <father>Jack</father> <mother>Jill</mother> <son>Billy</son> <son>Joey</son> <daughter>Jane</daughter> <pet>Fido</pet> </family> Suggested improvement: <family> <parents> <father>Jack</father> <mother>Jill</mother> </parents> <children> <son>Billy</son> <daughter>Jane</daughter> <son>Joey</son> </children> <pets> <pet>Fido</pet> </pets> </family> Though I'm sure you would get differing opinions from various members of the XML Schema WG, I think it's fair to say that among the reasons we did not invest more in the "unordered sequences of elements with count controls on each element by name"-model was a feeling that in the majority of cases such markup is in fact undesirable. We could have extended <xsd:all> to support this, but chose not to in release 1.0. We do occasionally get requests to add such function, but some of us remain unconvinced that it is a high priority. You'll note that XML Schema can easily model my "improved" form, either using <xsd:sequence> (order of the sections matter) or <xsd:all> (if it doesn't). In any case, independent of the schema language used, I think there are often better alternatives to examples such as the one that inspired this thread. -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 --------------------------------------
Received on Tuesday, 24 August 2004 21:36:42 UTC