Re: XML and Versioning

Dare Obasanjo wrote:

>Instead of just making a feature request can you describe a scenario which this which is currently hampered by the lack of this feature and how this feature solves the problem? Building versioning model based on URI structure seems fraught with complexity and brittleness to me. 
> 
>
I am not proposing "building versioning model based on URI structure" 
but something less:
that if namespace URIs are treated hierachically, that gives us another 
tool with which to
address versioning issues.  That namespace URIs have no standard 
relationships one to another
at the moment potentially provides another way to slice the cake.

At the moment, when you derive a new schema, you cannot really create a 
new namespace
for the pragmatic reason that stylesheets and namespace-aware software 
breaks.

Because of this namespaces are used for setting the fuzzy semantics or 
invariants: the vocabulary perhaps but not the dialect. 

This results in dumb software that constantly needs schema "hints" and 
other locations in order
to work: namespace URIs, currently having only semantics as a string not 
as a hierarchical name,
provide no help to user agents or other systems to know whether two 
namespaces are related.

It is more robust for a processor to say "I don't have the information 
for this namespace available,
but I do have information for a higher namespace, which I will fall back 
to", rather than
"I will get information for this namespace, which may tell me to cascade 
to the information
for another namespace".

This is an issue that has bitten W3C working groups: for example, when 
an XSLT 1.1 (or 2.0!) or XML Schemas 1.1 comes out, or when a minor 
revision of some other vocabulary occurs, the WG cannot version-up the 
namespace even though the language has changed. A hierarchical
namespace could be used to address that problem: the eXtensible 
Xerography working group puts out a spec with namespace
   http://www.w3.org/ns/xx   and then want to put out
an update including full internationalization, they can then then use 
the namespace
    http://www.w3.org/ns/xx/i18n 
with the intent that existing software that understands  the old 
namespace will accept documents
in the new namespace, unless unwanted elements occur (i.e. the software 
has been written to
fail on unexpected elements: software obviously can be written to 
swallow or otherwise handle
unexpected elements too.)

Cheers
Rick Jelliffe

Received on Tuesday, 24 August 2004 05:16:30 UTC