OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] SAX and endDocument

[ Lists Home | Date Index | Thread Index ]


> I was working with Xerces-J this weekend and encountered what I thought was
> a
> major bug-- however upon rereading the SAX API docs I suspect I may be
> mistaken. For some reason I was under the impression that the endDocument
> function was guaranteed-- meaning, that even in an exceptional circumstance
> endDocument would be called. This allowed a guaranteed place (expeccially in
> the case of filters) to do cleanup after a parse.
> 
> This is definitely the case for AElfred2, but the API docs are not crystal
> clear on the subject (though I thought they used to be).  With AElfred2,
> even in the case of a user generated exception the endDocument handler will
> be called. In Xerces if an exception occurs it stops the process completely
> omitting the endDocument call.

When I wrote the SAX2 wrapper for Expat I had it the Xerces way, but
then I re-read the specs and changed my mind, mostly because the docs
for endDocument() use the same wording as for startDocument()
(which is guaranteed):

"The SAX parser will invoke this method only once..."

On the other hand one could say that because a SAX parser does not throw
exceptions for parse errors, exception handling is outside of its scope
and one should therefore follow the normal practice that an exception 
(thrown by an error handler) really should force parse() to return immediately.
This would make more sense to me.

So, instead of answering your question I will join your request
for clarification.


Karl




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS