Robin Berjon writes:
> And is it not one of the greatest ironies of XML
> Schema that it failed to learn from that lesson
> and therefore didn't provide simple and
> straightforward means to describe extensibility in
> schemata?
It is indeed, though to be fair, there was and to some degree still is a
great deal of disagreement as to what evolution strategies people wanted
to use for their instances. The job of schema is to make it easy to
describe evolving constraints on those instances, and the community was
nowhere near consensus on what idioms were to be described. For example,
there was strong belief on the part of some that even a small change (bug
fix?) to a language would result in complete republication putting either
(a) the entire language into a new namespace or (b) at minimum the new
constructs into a new namespace. We have since seen important XML
languages that do neither (a) nor (b).
In 1999, I suggested to the XML plenary that the XML community as a whole
should consider just these questions [1], in part so that XML schema
would have a context in which to explore the requirements. The response
from the CG was basically: versioning is a known hard problem and if we
try to tackle it, we'll spend more time and energy than we can afford.
Let's not try now. I don't think it's fair to blame only the Schema WG
for that decision. Note that the current schema wg charter specifically
makes versioning a priority [2], and a very serious effort is being made
to explore use cases and requirements, and then to develop suitable
support in Schema 1.1.
So, ironic as it may appear now, there was a conscious decision by the CG
not to make a frontal assault on versioning for the community as a whole.
There were scattered attempts be Schema WG members to add features that
might be helpful. Wildcards, substitution groups and the <redefine>
mechanisms are all examples of mechanisms that provide at least limited
support for certain versioning idioms. The WG is now, belatedly,
involved in a much more serious attempt to understand the requirements and
to define more robust mechanisms to support versioning.
Noah
[1] http://lists.w3.org/Archives/Member/w3c-xml-plenary/1999Oct/0019.html
[2]
http://www.w3.org/2003/09/xmlap/xml-schema-wg-charter.html#Deliverables
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------