[
Lists Home |
Date Index |
Thread Index
]
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)
One minor editorial suggestion here. Instead of "Until this ambiguity
is resolved in a future major release, clients should make no
assumptions about whether endDocument() will or will not be invoked
*when* the parser has reported a fatalError() or thrown an
exception." I would write "Until this ambiguity is resolved in a
future major release, clients should make no assumptions about
whether endDocument() will or will not be invoked *after* the parser
has reported a fatalError() or thrown an exception." That is, change
"when" to "after".
I also wonder if this there's another side issue here. The text is
written under the assumption that the parser actually calls
fatalError. However, there's a loophole I hadn't noticed before in
the event the parser does not call fatal error because an
ErrorHandler is not installed. I suspect the warning should apply to
that case to. And now that I look at it, if the parser throws an
exception, we know what happens. endDocument is not called. The
question is whether the parser will call endDocument *before*
throwing the exception. I suggest this revised text:
There is an apparent contradiction between the documentation for this
method and the documentation for ContentHandler.endDocument(). Until
this ambiguity is resolved in a future major release, clients should
make no assumptions about whether endDocument() will or will not be
invoked after the parser has detected 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
|