Re: Namespaces and Parsers

james anderson (James.Anderson@mecom.mixx.de)
Wed, 03 Jun 1998 20:23:03 +0200


Peter Murray-Rust wrote:
> [lots about namespaces, including]
>
> There are some remaining problems:
>
> - unqualified names (i.e. prefix = null). Although I expect that in a
> year's time almost all XML will be using namespaces, there will be chunks
> which don't. Very often these will conform to a particular DTD (e.g. XHTML)
> but without qualification. I therefore have a (slightly dangerous)
> mechanism which I used in JUMBO1. It mapped all unqualified names to a
> prefix of "#DEFAULT" (a deliberately illegal Name). This could then be
> associated with a namespace either by an xml:namespace or through program
> operation. The advantage of this is that it then gives the user a chance to
> qualify their documents.
>
this is a deficiency in the draft.
since you're dealing with "symbols" here (otherwise known as "universal
names"), and all symbols belong in a package ( to adopt a view from lisp), you
need a package for those symbols which do not themselves name a package. it
appears that you've been naming that package "#DEFAULT" and maintaining it as
a constant. if you go ahead and make it a first class value rather than a
special case, then there's no reason you can't bind any package to that prefix name.
as soon as the namespace spec provides a syntax for that operation, the
problem disappears.
for my use i've just permitted the pi to contain "zero or one" prefix, with
zero meaning the namespace/package for names/symbols without prefixes.

bye for now,