- From: Mark Feblowitz <mfeblowitz@frictionless.com>
- Date: Mon, 15 Jul 2002 15:08:41 -0400
- To: "Xmlschema-Dev (E-mail)" <xmlschema-dev@w3.org>
- Cc: "Duane Krahn (E-mail)" <duane.krahn@irista.com>, "Satish Ramanathan (E-mail)" <Satish.Ramanathan@mro.com>, "Andrew Warren (E-mail)" <awarren@openapplications.org>, "Kurt A Kanaskie (Kurt) (E-mail)" <kkanaskie@lucent.com>, Mark Feblowitz <mfeblowitz@frictionless.com>, "Michael Rowell (E-mail)" <mrowell@openapplications.org>
I've read the Best Practice, debated the pros and cons, and am still not confident that I understand all of the ramifications: How should I associate evolving schema version numbers into my namespace name? Into my schemaLocation? I have a set of schemas, all under the same namespace name, that will certainly change over time. Some changes will be major, some minor, some "trivial" (with numbering reflecting the various levels, e.g., 2.3.1). I know that if I want validators to validate the content, without writing custom code that inspects the xml doc's content, the doc's schemaLocation must reflect the specific version information (e.g., http://www.MyStandard.org/2.3.1/xyz.xsd). I know that each schema change could affect the content in the instance documents (changing the wire signature), and/or the names and/or structure of the schema, which could adversely affect those schemas that import or include the altered schema. As such, each change reflects a different version of the schema (and thus a new schemaLocation, e.g., http://www.MyStandard.org/2.3.1/xyz.xsd). But does each change warrant a new namespace name? How much of a change to the schema truly warrants a change to the namespace name? (Some say: "any change." Some say: "only non-backward-compatible changes," whatever those might be). What are the ramifications of fine-grained versioning in the schema namespace (e.g., http://www.MyStandard.org/2.3.1/xyz.xsd)? What are the ramifications of course-grained versioning in the schema namespace (e.g., http://www.MyStandard.org/2.3/xyz.xsd)? With well-componentized schemas, I understand that every change to the schema would require a change to the namespace declaration in every included schema, in order for namespace names to match. With a good configuration management system, this can be supported trivially. For those who don't use these tools, this can be tedious and error prone. I can tell you at the moment, I'm leaning toward having three levels of version numbering, and only reflecting major and minor version numbers into the namespace name. But as I said, I'm not confident about the distinction between "minor" and "trivial," nor am I convinced that there would be no adverse impacts on the schemas' deployability/usability. From a pure xml standpoint, my current approach will work, although I'm still unsure whether any change, no matter how trivial, would represent both an identical vocabulary (in the instances) and an identical meta-vocabulary (in/among the schemas). But from a practical, production perspective, I am unsure how the schema-consuming middleware would accommodate the changing namespace names. Certainly, new maps would have to be created for each element/attribute in each new namespace name. Not so for most of the content, if the namespace name was held stable and the predominant changes were extensions. So what's your take ?( I know this is more of a philosophical rather than pure technical question). When should a namespace name change to reflect changes in the schemas? What granularity do you recommend? What practices are so common that I should just accept them, even if they don't fully answer my (many) questions? Where can I look, beyond the xfront site, to get insight into common practice, ramifications, etc.? Is this question better asked under the XML-Dev list? Thanks, Mark Mark Feblowitz XML Architect [t] 617.715.7231 [f] 617.495.0188 Frictionless Commerce Incorporated [e] mfeblowitz@frictionless.com <mailto:mfeblowitz@frictionless.com> [w] http://www.frictionless.com <http://www.frictionless.com> [m] 400 Technology Square, 9th Floor Cambridge, MA 02139 Open Applications Group Incorporated [e] mfeblowitz@openapplications.org <mailto:mfeblowitz@openapplications.org> [w] http://www.openapplications.org <http://www.openapplications.org>
Received on Monday, 15 July 2002 15:09:14 UTC