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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

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

[ Lists Home | Date Index | Thread Index ]


----- Original Message ----- 
From: "Elliotte Rusty Harold" <elharo@metalab.unc.edu>
To: "Karl Waclawek" <karl@waclawek.net>
Cc: <xml-dev@lists.xml.org>; <sax-devel@lists.sourceforge.net>
Sent: Tuesday, March 09, 2004 10:27 AM


> At 8:01 PM -0500 3/8/04, Karl Waclawek wrote:
> 
> >>  I'm not sure what this program is supposed to demonstrate. One of the
> >>  conclusions I think we're reaching is that if a client supplied
> >>  method such as startDocument() throws an exception, then endDocument
> >>  (and fatalError()) are not called.
> 
> 
> I thought this when this discussion started, but I've been convinced 
> otherwise since then. There are just too many different exceptions a 
> client can throw for too many different reasons, including not only 
> SAXExceptions but many RuntimeExceptions and even errors, some of 
> which (ArrayIndexOutOfBoundsException, OutOfMemoryError) may be 
> unintentional and the result of program bugs. 

Or intentional exceptions based on application logic.
The XML document may be well-formed and even valid, but from the
client's point of view it could still be in error.

> The model is cleaner 
> if the ErrorHandler is reserved for errors defined in the XML 
> specification. And according to the JavDoc, this is what it does now. 
> For the fatalError() method it says, "This corresponds to the 
> definition of 'fatal error' in section 1.2 of the W3C XML 1.0 
> Recommendation. For example, a parser would use this callback to 
> report the violation of a well-formedness constraint."
> 
> It doesn't say that fatalError cannot be called for other, client 
> generated exceptions, but there doesn't seem to be any text at all 
> indicating that they could be.

Yes, I always thought that application erros should not be reported
through the error handlers. I was just not sure if maybe the docs 
allowed or favoured it.

So what is the agreement about EndDocument() now?
I am not sure I got it. Is it as simple as this:

  endDocument() must always be called once startDocument() was called,
  even after a fatal error was reported, unless XMLReader.parse() 
  returned with an exception.

Would that be it?

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