[Home] [By Thread] [By Date] [Recent Entries]


On Fri, Jan 25, 2002 at 10:39:25PM -0600, Eric Bohlman wrote:
| So I'd classify parsers into pull vs. push on one dimension
| (where the flow of control resides) and event-based vs. 
| tree-based on another, orthogonal, dimension (how much 
| information is communicated at a time).  It's certainly 
| possible, BTW, to have a parser that is both tree-based and 
| push; think of XML::Twig.

I like your description above (snipped).  However, I'm not
sure that tree-based vs event-based is a clear distinction.
I'd rather use the access allowed by the API to the underlying 
information.   If the access is forward-only, then I call it 
sequential access (like a singly linked list).  Or, if the 
access allows the caller to jump around the tree, then I'd 
call it random access (like an array).    The problem with 
the word "tree" is that SAX iterates over a tree, so I would 
consider SAX tree based.  In fact, anything that  works with 
XML on an abstract level is tree-based.  The problem with the 
word "event" is that it's most often associated with call-backs, 
aka "push".   Thus, by using these two words you are more
likely to cause confusion then by staying with the words 
"sequential" vs "random" access.

Best,

Clark

-- 
Clark C. Evans                   Axista, Inc.
http://www.axista.com            800.926.5525
XCOLLA Collaborative Project Management Software

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member