The Peace Process: DOM and namespaces...

Tyler Baker tyler at infinet.com
Thu Feb 11 22:45:48 GMT 1999


Marcelo Cantos wrote:

> 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="www.simdb.com"><p>Hello world!</p></doc>
>
> becomes:
>
>   <ns0:doc xmlns:ns0="www.simdb.com"><ns0:p
>     xmlns:ns0="www.simdb.com">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.
> :-)

Well, then you no longer have the original document structure you had before but these archane
prefixes in your document which make things completely unreadable from a users perspective.  I
might as well just use Java Object Serialization only for serializing an object tree as it
would be faster and be no less understandable to the end-user than all of this automatic
prefix creation.

Tyler


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




More information about the Xml-dev mailing list