Re: Namespaces are dead.

First of all, let me say that after conversations with Paul Prescod
and Peter Newcomb, and, after reading David Megginson's note, I'd like
to suspend my displeasure with namespaces.  If I take namespaces to be
a step along a path designed to make forward progress in the face of
the impossibility of getting things all perfect in one step, I find
them much less obnoxious.  I would also like to acknowledge in this
forum that architectural forms are not perfect, and that I'm convinced
that it would probably be a mistake for the W3C process to adopt them
exactly as written in the HyTime spec.  The reason I say this is that
the solution provided by architectural forms in the HyTime spec is not
a fully general solution for making DTDs map to one another (or, for
that matter, for making XML Schemas map to one another).  Yet.

[Bill Burkett:]

> I'm a newcomer to this group, but I could like to comment on Steve's
> ambition for namespace-free, public vocabularies: It is an
> idealistic goal that will never work practically.

I agree that any goal of having a universal vocabulary would be
hopelessly naive and utterly doomed.  (I'm surprised that you thought
I was proposing any such thing!)

> The reason that it is impossible to create a namespace-free vocabulary
> is rooted in linguistic and social theories about how languages are
> formed and how people ascribe meaning to words and phrases.  The meaning
> of words - and thus any XML vocabulary - is constructed, used, and
> reinforced within social communities.

Very true.  What's really needed is for the definitions and grammar of
each community's vocabulary to be formally expressible, and mappable
(to whatever extent is possible, anyway) to the vocabularies of other
communities.

> It is impossible to find any universally-applicable meaning for any
> particular word; thus, I have always seen the namespace proposal as
> being a way to identify the community that originated the "word" in
> the vocabulary.

But just to know the identity of the community is not enough.  To
interchange information, you also need to know what the words are,
what kind of word each word is, what each word means, and how each
word can be used.

Since we can't standardize languages, the best we can do is to
standardize ways of modeling languages and provide re-usable software
(parsers) that understands the models.  It will *ultimately* serve the
public interest to have a much better schema language than the DTD
language ever was.  But it will *never* serve the public interest to
promote the idea that vocabulary modeling is a bad idea.

What I object to about namespaces is that, in the absence of a
modeling capability (and even the most basic modeling capabilities of
DTDs are eschewed in namespaces -- there's no way even to say what the
list of valid names is!), there is no way to say whose software is at
fault when vocabulary-based information interchange fails.  This gives
information-interchanging communities no way to purchase software from
the lowest bidder, no way to hold software vendors accountable to the
standards of their communities, and no way even to change software
vendors, there being no way for their communities to establish their
own standards and communicate them to the software vendors.

Anyway, I hope and believe we can all agree that publishing a
namespace name without a schema for the named namespace is a
deplorable practice.  Why publish a name for a namespace if you're not
really interested in information interchange?  I claim that the only
reason to do so is to conceal one's lack of respect for the value of
the information that will presumably use the vocabulary.

I also hope and believe that we can all agree that it's a serious
problem that namespaces don't define a way to attach a schema to a
namespace, even in the context of a single document.  I still think
namespaces are broken.

> I do concede your point, however, that this will impede
> interoperability and communication because it will encourage
> communities to create, use, and entrench their own vocabularies.

On the contrary, that was *not* my point at all!  I believe
communities *must* be encouraged to create, use, and entrench their
own vocabularies.  And that's precisely what namespaces, as presently
constituted, are much too weakly constituted to support.

> I think that the best solution would be one that recognizes the
> proclivities of human nature to form meaning within their own
> communities, yet provides mechanisms to reconcile these meanings.

Yes, exactly!  That's what architectural forms are designed to do, and
in many cases they actually succeed in doing it.  But not in all
cases.  Let's do better this time around and make it work for all
cases.

-Steve

--
Steven R. Newcomb, President, TechnoTeacher, Inc.
srn@techno.com  http://www.techno.com  ftp.techno.com

voice: +1 972 231 4098 (at ISOGEN: +1 214 953 0004 x137)
fax    +1 972 994 0087 (at ISOGEN: +1 214 953 3152)

3615 Tanner Lane
Richardson, Texas 75082-2618 USA

Received on Monday, 7 June 1999 20:59:02 UTC