Walking the DOM (was: XML APIs)

Paul Prescod papresco at technologist.com
Wed Nov 4 00:42:40 GMT 1998

Tim Bray wrote:
> >The trouble with that algorithm is that it is recursive.  It will
> >blow up if the tree is sufficiently deep.  Indeed, in
> >languages that cannot be relied on to do tail recursion, like
> >Java, it will blow up if the tree is merely sufficiently wide.
> Wouldn't the effects of recursion will be lost in the static,
> compared to the effects of loading the doc into memory to facilitate
> tree processing?  Even if you are doing some persistent-ancillary-
> info trick to do a virtual tree, in my experience for very large
> docs you really have to wrangle memory carefully.  

But the persistent ancillary-info trick (i.e. "object database") keeps
only the data it needs to in memory. If it requires lots of swapping, that
slows things down, but the algorithm works nevertheless. If you blow your
stack, you blow your stack, and there is no database in the world that
will help you.

Depending on the algorithm, walking an object database tree for a really
huge file may be faster than parsing it and event-processing it. It
depends on how many nodes you are actually processing, and how much
ancillary info you must keep around to solve the problem you need to

 Paul Prescod  - http://itrc.uwaterloo.ca/~papresco

"I always wanted to be somebody, but I should have been more
specific." --Lily Tomlin

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/
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