Musing over Namespaces

Ray Waldin rwaldin at
Wed Dec 15 12:39:17 GMT 1999


Don Park wrote:
> I started with the question: "Why isn't there namespaces
> in normal languages like English?"  A boring and divergent
> question.

I think your analogy is inaccurate: that XML is equivalent to one specific
human language and that XML namespaces are equivalent to variations of that
one specific human language.  After all, isn't the English language just
one amongst all human languages?  Aren't there hundreds of human languages,
or human namespaces?  And is human language at risk of becoming useless
because of the massive fragmentation?  My interpretation of a namespace is
that a namespace *is* a language.  

With or without a namespace specification or namespace identifiers or
namespace prefixes, XML namespaces exist.  By the very nature of
application development, there will always be an XML application that
defines elements that are not understood by other XML application developed
in a different time, at a different place, for a different purpose. 
Formally defined namespaces are only a manifestation of this and allow
software to *at least* not misunderstand something, and *at most*
understand it.

My ability (very limited compared to others) to understand sentences
composed of multiple human languages is only possible given the
capabilities (advanced compared to software, yet very limited compared to
other humans) of my human language processor (my brain).  If someone were
to say to me "XML is a de facto standard", or "Yo quiero Taco Bell", I
would have no trouble understanding them.  However, with "Ceci ist non
Ingleses", I would first have to determine what languages the words belong
to.  If someone were to say "french:Ceci german:ist italian:non
portugese:Ingleses" I would at least have a chance of understanding this
sentence a little better (with the appropriate translators, anyway)?  

> I moved on to more interesting question: "What if English
> language used namespaces?"  There are several ways to
> interpret this question but the most interesting is this:
> "What is the social impact of using namespaces in English
> or any other spoken/written language?"
> My answer was: massive fragmentation of society.

You mean, massive fragmentation of English speaking society.  There already
is a massive fragmentation of society at large, and I don't think anyone is
rushing to fix that problem (except the Esperanto hangers-on, that is :)). 
In fact many people are rushing to accomodate it by regionalizing their
products, learning foreign languages, etc.  

There is even some fragmentation of English speaking society, to the extent
that you should be careful whom you ask for a "fag" or a "shag".  The
result could be quite dramatic if not downright painful.  :)  Again,
namespaces can help us avoid such pain in the world of XML.

> I have a feeling that the answer to above question is
> important to understanding the impact of namespaces in XML.
> Here are some of the side questions I asked myself:
> Is it really a 'good thing' to have namespaces in XML?  What
> ill effect will it have on XML's future?  Why can't the
> semantic of '<name>' be determined purely by context?  

I think people have a hard enough time with this, let alone software.  What
do I mean by book-review/name?  Is this the name of the book or the name of
the book review or the name of the book author or the name of the book

What is variable/name?  Is it the name of the variable or does it signify
that the variable holds a name?  Maybe this is a name which varies?  Even
if *we* can agree on this, I doubt that we can do so for most meaningful
contextual combinations, and even then it would be near impossible to get
every XML application author to agree to our definition.

> What
> is wrong with using just <html> to distinguish HTML's use of
> 'a' tag?  

The real question is: is an html/body/dl/dt/em/a the same as an html/a? 
Does html's use of these element names preclude their use as "context"
identifiers in other languages?  This is way too limiting.  I can no longer
use any of html's element names in my language to specify contexts that are
outside of html within html!  

> Is the ability to inject attributes from other
> namespaces really useful?  

To the extent that your xml application looks for and understands (or
avoids misunderstanding) them, yes.

> What is the possitive effect of
> having just one namespace?  Why can't we have central
> registry of XML names?

Like another website where I would have to go to
find unused "context" element names...!

> What do you all think?  I would be very much interested in
> your answers.

I think there is something to be said for common languages, just not one
universal language.  In order to be useful, XML must not move to either
extreme.  On the one hand you have the Tower of Babble where everyone is
eternally isolated in their own little namespace and on the other you have
Esperanto which requires universal cooperation and has no chance of ever
succeeding.  In the middle you have useful, but not universal,
cooperation.  Namespaces are needed, and many will use them, some will even
abuse them, but to their own detriment...  Those that see the advantage in
not reinventing <wheel/> just for the sake of reinventing it will benefit


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list