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] SAX - endDocument() confusion again

[ Lists Home | Date Index | Thread Index ]

At 2:07 PM -0500 2/27/04, Karl Waclawek wrote:

><quote>
>The application must assume that the document is unusable after the parser
>has invoked this method, and should continue (if at all) only for the sake
>of collecting additional error messages: in fact, SAX parsers are free to
>stop reporting any other events once this method has been invoked.
></quote>

Yuck. That is nasty. This is why specs need a normative test suite. 
However, I think the text under endDocument() is more important:

The SAX parser will invoke this method only once, and it will be the 
last method invoked during the parse. The parser shall not invoke 
this method until it has either abandoned parsing (because of an 
unrecoverable error) or reached the end of input.

Clearly it's OK to call endDocument after a fatalError. Is it 
required? I think so, but it's arguable. David Brownell claims it's 
required 
<http://www.geocrawler.com/mail/msg.php3?msg_id=8561128&list=13179> 
and it's certainly useful to be able to depend on this.

In practice, the only two actively developed SAX parsers for Java 
(Xerces-J and Oracle) do not call endDocument. Neither does Crimson. 
Some lesser known parsers like the various AElfred derivatives do.
-- 

   Elliotte Rusty Harold
   elharo@metalab.unc.edu
   Effective XML (Addison-Wesley, 2003)
   http://www.cafeconleche.org/books/effectivexml            
   http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA 




 

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

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