The Peace Process: DOM and namespaces...
Marcelo Cantos
marcelo at mds.rmit.edu.au
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="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.
:-)
Cheers,
Marcelo
--
http://www.simdb.com/~marcelo/
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