[standards-jig] Namespace Versioning

evan at prodromou.san-francisco.ca.us evan at prodromou.san-francisco.ca.us
Tue Apr 1 16:13:04 UTC 2003

On Mon, Mar 31, 2003 at 03:53:59PM -0500, Julian Missig wrote:
> Well, for the most part, newer JEPs have moved to actual URL-style 
> namespaces.
> The major problem with including a version in the namespace is that it 
> offers no indicator of whether or not protocols are compatible anyway.

That's the whole idea. To the human eye, it suggests a relationship, but
processors are unable to tell that there is one. The semantics are, "Hey,
programmer! You need to go download the new version of the spec!"

A processor that wanted to handle both versions would probably need to be
custom-built to share code where useful and have version-specific code where
necessary. This is the right thing, however.

> I'm a Jabber client, I deal with "jabber:iq:joap:0.3" namespaces. I get 
> a "jabber:iq:joap:0.4" namespace. The only way for me to know that I 
> can try to deal with "jabber:iq:joap:0.4" using my "jabber:iq:joap:0.3" 
> handler is to somehow parse out the version.

Or, rather, to have been programmed to know that 0.3 and 0.4 are the same
except for X, Y, and Z.

The alternative is to be a Jabber client that deals with the
'jabber:iq:joap' namespace, and get a stanza in that namespace that was
built to a different spec, and blithely go about treating it the wrong way.

> This brings us into
> nonstandard usage of namespaces and all sorts of other ickiness I'd
> rather not get into.

-1 evil namespacing


More information about the Standards mailing list