- From: <noah_mendelsohn@us.ibm.com>
- Date: Thu, 12 Sep 2002 19:05:06 -0400
- To: "Anthony B. Coates" <abcoates@TheOffice.net>
- Cc: www-tag <www-tag@w3.org>
This is not a new issue. In October 1999, I raised essentially the same set of concerns to the XML Plenary at [1]. Since that is a member-only list, but I don't see anything in my note that could be viewed as private to anyone but me as the sender, I am taking the liberty of reproducing the text below, for the benefit of non-W3C members who are reading this thread. I should give credit to Tim Bray for consistency. His response to me on behalf of the XML Plenary at that time is essentially identical to the ones he's offering today. Tough problem, no one solution, probably not appropriate for W3C to launch a frontal assault (and I infer, maybe some good practice to be promoted.) I still think we might do well to give this area a bit more organized thought, but Tim is absolutely right that we should proceed with caution and with modest expectations if at all. Also, most of the analysis I've seen, including in this thread, seems a bit oversimplified. See my note of 3 years ago for the issues that I think are significant. Among them: my intuition is that bug fixes may be different from major revisions to a vocabulary, and may need different sorts of support. Depending on the approaches taken, changes may be needed to XPath, maybe XQuery and Schema. I think XPath and Query are most impacted if Namespaces are used. What good is it if when I search for an HTML <P> I only get the one from version 42.6 of the HTML vocabulary (which might have changed over time due to bug fixes?) You want the search and query functions to have some ability to work across versions. Similarly, you get very tricky substitutability questions in schema: if my original vocabulary expected a verion 1 <p>, will it also accept a later one? Which later ones? How do I control this? Are versions arranged linearly, in a hierarchy, or with some more elaborate dependencies? I do NOT think we should debate the above here in this thread. I'm only reinforcing Tim's point that this stuff is subtle, and it potentially involves many pieces of W3C architecture. I also think that sooner or later solutions will be needed. Note that, in the SOAP arena, there is a partial solution in the form of mustUnderstand headers, and also a limited facility for negotiating which version of SOAP you are using; a SOAP 1.2 processor has a defined response when confronted with a SOAP 1.1 or SOAP 1.3 message that it chooses not to support, for example. Thanks. Noah [1] http://lists.w3.org/Archives/Member/w3c-xml-plenary/1999Oct/0019.html From: Noah_Mendelsohn@lotus.com To: w3c-xml-plenary@w3.org Message-ID: <OF48EE7F31.9023727A-ON85256800.007472E1@lotus.com> Date: Mon, 4 Oct 1999 17:58:28 -0400 Subject: Versioning and Evolution of XML Vocabularies, Namespaces, Schemas, etc. This note is to fulfill an action that Jon assigned to me at the plenary in France last week. During the meeting, we were gathering lists of issues that would require attention by the XML community in the coming months. I suggested that we should consider the evolution and versioning of XML vocabularies, namespaces, and schemas. Jon asked me to send an introductory note to this list. The purpose of this note is not to begin a detailed discussion now, but rather to ensure that these issues are considered for inclusion on our agenda at the right time. (Right, Jon?) With that caveat, here is a brief outline of some aspects of the problem, so you will at least know what I have in mind: * In what ways can an XML vocabulary evolve? Through addition of elements and attributes? Deletion? Elimination and/or imposition of co-constraints? Changes to the definitions of element content models? Changes to rules expressed in prose that describe the proper use of the vocabulary? etc., etc. * Do versions form a linear sequence or is branching accommodated? Do we architecturally distinguish major changes from minor ones? * Do we provide any architectural underpinnings to facilitate partial interoperation across versions? Seems necessary, or even a trivial change will require recoding of applications. * What is the appropriate use of namespaces as a vocabulary evolves? Should names of versions somehow be encoded in the URI of namespaces? Should the namespace change at all as a new version is created? (The recent controversy over namespaces for HTML can be seen in that light: essentially, we are trying to capture the evolution of a single vocabulary into a number of related vocabularies, while maintaining reasonable interoperability and usability, and eventually deprecating certain undesirable constructions.) * In what ways should any new packaging or resource discovery mechanism be sensitive to or aid in the maintenance of versioned resources? * How do we develop schemas for the successive versions of an XML vocabulary? How is the appropriate version of the schema bound to a document using a particular version of a vocabulary? This question seems intimately bound with the use of namespaces, and with the question of whether a single schema document can contribute definitions to more than one namespace (currently under debate in the schema workgroup). etc., etc. I'm sure that this is not an exhaustive list, and I've probably left out or poorly presented some important points. I hope this is a good enough start to help us remember to deal with the versioning question at the right time. --------------------------------------------------------------------------------------- Noah Mendelsohn Voice: 1-617-693-4036 Lotus Development Corp. Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 --------------------------------------------------------------------------------------- ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------
Received on Thursday, 12 September 2002 20:20:00 UTC