Re: [xml-dev] SAX/Java Proposed Changes

"Karl Waclawek" <[email protected]> Mon, 8 Mar 2004 09:51:36 -0500
Newsgroups gmane.text.xml.sax.devel,gmane.text.xml.devel
Message-ID <006c01c4051c$db4a7690$9e539696@citkwaclaww2k>
----- Original Message ----- 
From: "Elliotte Rusty Harold" <[email protected]>
To: "Karl Waclawek" <[email protected]>
Cc: <[email protected]>; <[email protected]>
Sent: Monday, March 08, 2004 9:22 AM

> >Yes, sounds more reasonable, as from the "cleanup" point of view such
> >a method is the counterpiece to parse() rather than startDocument().
> >Maybe we need both, one focussing on the actual end of the document,
> >one indicating the end of the parsing process. And then one can
> >divide responsibilities in a more intuitive way.
> 
> The problem with this approach is that it's unwieldy, not impossible 
> but not pretty. In this pattern, the data structures must be 
> initialized in one class before calling parse, filled in in the 
> ContentHandler during the parse, and then torn down or flushed after 
> the parse in the first class. 

It can all be done in the class that implements ContentHandler,
only the calls are coming from different places.
But it is more overhead, I agree. However, if we want to combine
initialization/finalization with the document boundary events, then
we run into the conceptual confusions this thread has demonstrated.

> Being able to rely on 
> startDocument()/endDocument() in the ContentHandler allows all the 
> initialization  and tear-down code to easily go in the same class as 
> the code that fills the data structure. It's all neatly unified. 

Why could it not go in the same class in the other case?

> This 
> doesn't necessarily do anything that the other pattern can't do. It's 
> just cleaner and easier to follow by keeping all the related code in 
> one place.

See above. Forcing endDocument() from a lexical point of view is wrong,
from a cleanup point of view is right (if it is the only event one can use).

Karl




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
List: sax-devel, [email protected]
See:  http://www.saxproject.org/
https://lists.sourceforge.net/lists/listinfo/sax-devel