[
Lists Home |
Date Index |
Thread Index
]
----- Original Message -----
From: "Toni Uusitalo" <toni.uusitalo@pan.nu>
To: "Karl Waclawek" <karl@waclawek.net>
Cc: <xml-dev@lists.xml.org>
Sent: Sunday, February 29, 2004 8:19 AM
> ><quote>
> >Note that the locator will return correct information only during the
> >invocation
> >SAX event callbacks after startDocument returns and before endDocument is
> >called.
> >The application should not attempt to use it at any other time.
> ></quote>
> >Karl
>
> Ok. This is something I've missed (Parsifal doesn't actually implement
> locator but
> provides similar info). So locator2's getEncoding isn't
> available at startDocument stage 'cos startDocument is the first thing that
> should be called even before checking any boms etc.
>
> If getEncoding isn't available at startDocument, this means that if one for
> some reason wants to roundtrip
> input document to output (doing some modifications for example) using original
> encoding, he/she has to "poll" getEncoding in some other callback (in
> startElement perhaps?).
> This might be an exceptional case, but I think somebody might want to do
> this (?). OTOH there isn't necessarily byte order information available for
> this either.
Maybe the best approach would be to re-define startDocument
to pass encoding and XML version (and maybe the standalone value)
for the document entity, and to re-define LexicalHandler.startEntity
to pass the encoding and version for the entity, if external.
That would mean that Locator2 is not necessary.
Of course, signature changes are not backwards compatible.
Just thinking out loud.
Karl
|