Switching between DOM and SAX

Sean Mc Grath (digitome@iol.ie)
Sat, 19 Sep 1998 09:47:44 +0100


[John Cowan]
>..what I have is code that converts a DOM *tree* into a SAX *event stream*.
> The result is "manageable" to applications that expect SAX events.

The reverse conversion is also very valuable. I wonder how it would
work with SAX/DOM?

Explanation:
When processing large documents building entire trees is
resource intensive and time consuming. Sometimes you only
the power of tree navigation stuff for sub-parts of the
source document.

I find it very useful to start out processing events and then switch
into tree building for branches of the source document. I have a way of doing
this in a Python based SGML toolkit (LumberJack) that I have hacked up and
find
it really really useful. I wonder how it would work with the SAX/DOM
standards. FWIW, here is how it looks in my stuff (pseudo Python):--

def TABLE_HANDLER
# Hit a table element - need a tree to process these things
if start of table:
EventSource.RollBack() # Roll back the start event
TableTree = TreeBuilder (EventSource)

def FOO_HANDLER
Other event handling functions here

Sean Mc Grath

def Get_URI_Of_Superlative_Scripting_Language():
return "http://www.python.org"