The Peace Process: DOM and namespaces...

Marcelo Cantos marcelo at
Thu Feb 11 22:13:43 GMT 1999

On Thu, Feb 11, 1999 at 07:50:58AM -0500, Tyler Baker wrote:
> David Megginson wrote:
> > Tyler Baker writes:
> >
> >  > > Preprocess your information, whatever its source.
> >  >
> >  > From an entire database.  Pass over the entire document tree and
> >  > prepreprocess everything before actually presenting it to the
> >  > application.  This is not practical.  In my limited experience on
> >  > these matters I have seen this tried before and with horrendous
> >  > results.  Nevertheless, it does not take a computer scientist to
> >  > see the real world problem with this approach.
> >
> > That would be silly -- lazy evaluation works fine for this kind of
> > thing.  I hate to sound stupid, but I still fail to see how Namespaces
> > causes any problems at all for someone dynamically generating a
> > document from a database -- if you want to use names with a URI part,
> > use them; if not, don't.
> Well you have the choice of doing an entire pass over the document and
> building a map directly or else try and lazily evaluate things and then
> cache the results of the namespace processing.  Then for each time you
> find a node, you need to look it up in a hashtable somehow.  Hashtables
> are cheap, but not that cheap if you need to do a table lookup for every
> node you process.  So iterating over the entire source tree and building
> an indexed table may in some circumstances be more efficient than the lazy
> approach.
> But you are still faced with the problem of illegal XML Names.  If you
> write the DOM Document out to an XML file or stream you will be emitting
> illegal XML Names unless you have some URI -> prefix hack to get things
> back to legal XML.

As in expat:

  <doc xmlns=""><p>Hello world!</p></doc>


  <ns0:doc xmlns:ns0=""><ns0:p
    xmlns:ns0="">Hello world!</ns0:p></ns0:p>

Not sure why the second xmlns:ns0 is there.  Maybe it just makes life
easier on the user (no need to traverse the parents).

Also not sure why the last close tag is </ns0:p>.  I guess that's why
my copy of expat came from the _test_ directory on James's FTP site.



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 (un)subscribe, mailto:majordomo at the following message;
(un)subscribe 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