[
Lists Home |
Date Index |
Thread Index
]
----- Original Message -----
From: "Elliotte Rusty Harold" <elharo@metalab.unc.edu>
To: "Karl Waclawek" <karl@waclawek.net>
Cc: <xml-dev@lists.xml.org>; <sax-devel@lists.sourceforge.net>
Sent: Friday, February 27, 2004 4:45 PM
> At 2:07 PM -0500 2/27/04, Karl Waclawek wrote:
>
> >Since there is no strong and explicit assertion in the SAX docs
> >that EndDocument *must* always be called, this would indicate to me
> >that in fact there is no such assertion at all, as this looks
> >like a proof to the contrary.
>
>
> Taking this argument to extremes, is it acceptable for a parser not
> to call startDocument? Just to call fatalError? I have caught parsers
> doing this, especially when the error is very early in the document;
> e.g. in the byte order mark or the XML declaration.
I would say that at this point the document has started,
and it is very simple to call startDocument before reading
a byte order mark or XML declaration, and at the moment
I can't think of any practical implications as for endDocument().
In short, I would say no, but I am writing this in a hurry and
haven't checked the specs.
On the other hand, there are two problems with endDocument():
1) Not clearly documented
2) Which is the right behaviour? Not so easy to answer.
There are issues around cleanup and filter chains,
the semantics of an implicit try .. finally
(you normally don't expect observable behaviour
from a call once your call-back has thrown an exception)
Karl
|