Lists Home |
Date Index |
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"?>
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.
> -----Original Message-----
> From: Jochen Wiedmann [mailto:firstname.lastname@example.org]
> Sent: Sunday, March 07, 2004 12:32 PM
> To: email@example.com; firstname.lastname@example.org
> Subject: Re: [xml-dev] SAX/Java Proposed Changes
> > At 9:11 AM -0500 3/5/04, David Megginson wrote:
> >> * 2004-0005: endDocument
> >> - note that a parser might not invoke endDocument after reporting a
> >> fatal error (this produces the fewest incompatibilities)
> > I'm a little uncomfortable with this "fix". I think always calling
> > endDocument is the right thing to do, and it should be required in the
> > spec. I don't think this would increase incompatibility in any
> > significant way. It would simply encourage vendors of non-conformant
> > parsers to bring their parsers into compliance, thereby increasing
> > compatibility. This would allow users to depend on this behavior for the
> > first time.
> > I don't think a parser suddenly changing from not calling endDocument
> > to calling endDocument is likely to cause major problems. Fixing this
> > in the direction you propose would simply bake in the existing
> > incompatibility. One way or the other, this should be nailed down.
> > Either parser all parsers should call endDocument after a
> > well-formedness error or none should. Letting it go either way is the
> > real problem.
> I am sorry, but I disagree. I have a lot of code depending on the
> assumption that the invocation of endDocument() indicates that no
> errors have been reported.
> In particular, I see no reason for forcing endDocument(). The
> parser application has all information that it requires, because
> the simple fact that the parser returns from XMLReader.parse()
> (either via return or by throwing an exception) indicates the
> same information.
> I wouldn't have a problem, if SAX had always specified this, but
> it didn't.
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>