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] Piccolo Java SAX parser and others in the wild?

[ Lists Home | Date Index | Thread Index ]

At 6:17 PM -0800 2/23/04, Jeff Rafter wrote:
>>  Yes. It's very careful to check that every document results in a
>>  startDocument and an endDocument event, even in the face of a fatal
>>  error. This is one of the most common mistakes that SAX parsers make.
>
>I brought this up because of a question I had asked a short while ago in
>this thread:
>
>http://lists.xml.org/archives/xml-dev/200312/threads.html#00345
>
>It was never adequately answered. And one could read the docs to imply that
>if the start of the document is never encountered then neither should be
>called but an error may be thrown-- of course even that is flimsy-- consider
>the following document:
>
>Error Before Prolog.xml
>=================
>Venienti occurrite morbo
><?xml version="1.0"?>
><foo/>
>
>Error In Prolog.xml
>=================
><?xml version="Venienti occurrite morbo"?>
><foo/>
>
>What do the SAX documents actually prescribe in this case?
>

My interpretation is that first you it must call startDocument(), 
then fatalError(), then endDocument() (assuming both a ContentHandler 
and an ErrorHandler have been registered), then throw a SAXException 
from the build method. However, at least three major parsers 
including Xerces do not do this, and several others do it only some 
of the time. Failing to call endDocument is the most common mistake.
-- 

   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