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/Java Proposed Changes

[ Lists Home | Date Index | Thread Index ]

At 1:58 PM -0500 3/7/04, Kirk Allen Evans wrote:
>endDocument should only be raised after exception if the rest of the
>document continues to be parsed after exception.
>
><?xml version="1.0" encoding="UTF-8"?>
><root>
>    <foo/>
>    <foo>&bar;</foo>
>    <foo/>
>    <foo/>
></root>
>
>The entity "bar" is not declared here.  If you are parsing this document,
>how many times do you expect startElement to be invoked?  If you argue it
>raised three times, then endDocument should not be invoked because you imply
>that you reached the end of the document when you did not.  You should only
>invoke endDocument when you actually parse the end of the document.

This is not how this works. As soon as the undefined entity is 
detected a fatal error is reported. the parser may not then continue 
to report the remainder of the content of the document in the usual 
way. This is according to the XML 1.0 specification, not SAX 
specifically. Fortunately I've only seen one uncommon parser that 
does this wrong, and continues to call startElement after a 
fatalError.

I guess what you're saying is logically endDocument should be called 
only if the end of the document is seen. Logically that make sense. 
However, the SAX docs are clear that this is not the case. 
endDocument really indicates the end of parsing, not the end of the 
document. It is not incorrect to call endDocument after a fatal error.

-- 

   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