[xml] Problems using xmlIOParseDTD() with given encoding
- From: "Keim, Markus" <markus_keim ordat com>
- To: "libxml2 mailing List (E-Mail)" <xml gnome org>
- Subject: [xml] Problems using xmlIOParseDTD() with given encoding
- Date: Tue, 4 Nov 2003 13:15:29 +0100
Hello Daniel, hello all,
i've recently switched to libxml2-2.6.1 and encountered a
problem when using xmlIOParseDTD() to subesequently
validate a document with a given encoding (more precise:
the problem turns up in xmlSwitchToEncoding(), at least
since v2.5.4, but the (new?) error handling using
xmlErrInternal() makes it more obvious).
When calling xmlIOParseDTD(), a brand new xmlParserCtxt is
build and xmlNewIOInputStream() is called with that
context, the given xmlParserInputBufferPtr and encoding.
If the encoding is unequal to XML_CHAR_ENCODING_NONE,
xmlSwitchEncoding() and than xmlSwitchToEncoding() is called,
again with the new parser context and the appropriate
encoding handler (if found).
xmlSwitchToEncoding() now checks (ctxt->input != NULL)
and calls
xmlErrInternal(ctxt, "xmlSwitchToEncoding : no input\n",
NULL);
since the newly build context obviously has no input
pointer.
xmlErrInternal() sets ctxt->wellFormed = 0 and after
xmlIOParseDTD() has called xmlParseExternalSubset(),
it checks (ctxt->wellFormed) and returns NULL.
Some debugging in v2.5.4 and v2.6.1 shows that switching
to the given encoding fails in both versions due to the
check of (ctxt->input != NULL), but only v2.6.1 sets
ctxt->wellFormed = 0.
So, for what i currently see it's
- not possible to use xmlIOParseDTD() with a given
encoding in recent versions of libxml2
- it's possible in prior versions, but the encoding won't
be took into account
I'm tackling things wrong or is there an actual problem
in libxml2?
And if so, how could it be solved (i don't think that the
check for (ctxt->input != NULL) in xmlSwitchToEncoding()
could be generally dropped)?
Thanks & Ciao, Markus
Mit freundlichen Gruessen - Kind regards
Markus Keim
________________________Addressed by:________________________
ORDAT GmbH & Co. KG - Serversystems / eCom
Dipl.-Inf. (FH) Markus Keim Fon: +49 (641) 7941-0
Rathenaustr. 1 Fax: +49 (641) 7941-132
35394 Gießen mailto:markus_keim ordat com
See: http://www.ordat.com
_____________________________________________________________
I love deadlines. I like the whooshing sound they make as
they fly by. -- Douglas Adams
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]