[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: using namespaces to version
- From: Uche Ogbuji <uche.ogbuji@fourthought.com>
- To: David Carlisle <davidc@nag.co.uk>
- Date: Wed, 02 May 2001 17:48:57 -0600 (MDT)
> > I'm wondering if anyone on the list has any strong opinions about
> > the use of namespaces for versioning.
>
> I think it's a bad idea: To a namespace aware processor if you
> change the namespace then you change the effective name of every
> construct in the language.
This is true, and I probably shouldn't even go where I'm about to because
it will open up the whole "what is a namespace" omphaloskeptic can 'o
worms, but a namespace-aware processor could use Eric's idea of URL
rewriting or special RDDL smarts to allow
http://foo.org/myspec
to refer to
http://foo.org/myspec/0/2
if taht is the latest version.
Of course, the skew in state between the deployed application and the HTTP
handler for the resource (whether at foo.org or cached/proxied/catalogued)
is a nasty snake in the dew grass of this eden.
But I don't believe there are any snake-less answers to the spec
versioning problem at any rate? the XSLT approach of "version as
attribute in root element" rather sucks for vocabs one would like to
embed freely into others, such as Warren's example of Dublin Core.
> It seems to me that two languages with no names in common are not
> versions of each other but rather two different languages.
Again, this is the "what is a name" trap. My name is "Uche Ogbuji".
My son's is "Osita Ogbuji". It is reasonable for one who is acquainted
with neither of us, upon seeing both names, to guess that the coincidence
of the surname indicates a relationship between us.
Why can't an application "guess" that "http://foo.com/myspec/0/1" is
related to "http://foo.com/myspec/0/2". Of course I quote "guess" because
since computers are imbeciles, there would actually have to be some
method/convention in place for this to be useful. I see Eric's idea as
one such convention.
> Thus (to use the example you gave) any language that can reasonably be
> called a version of MathML ought use the MathML namespace. If some
> future language is sufficiently different that it is no longer MathML
> version n but rather NewSuperMathML version 1 then it should have a new
> namespace but as a consequence it will share no elements in common with
> MathML and all existing XPath queries into MathML structure (for
> example) will not apply to this namespace.
>
> This argument was of course at the heart of the "p is a p is a p"
> debate over three (or as it thankfully turned out, one) namespaces for
> XHTML
And this argument will be on-going when Israphael blows his mighty trumpet
to announce The Last Judgement (if you believe in that sort of thing).
--
Uche Ogbuji Principal Consultant
uche.ogbuji@fourthought.com +1 303 583 9900 x 101
Fourthought, Inc. http://Fourthought.com
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python