[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: SAX/Java Proposed Changes
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@m... Effective XML (Addison-Wesley, 2003) http://www.cafeconleche.org/books/effectivexml http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|