Re: [xml] Implementation of JAXP interface using libxml2
- From: Chris Burdess <dog bluezoo org>
- To: Daniel Veillard <veillard redhat com>
- Cc: xml gnome org
- Subject: Re: [xml] Implementation of JAXP interface using libxml2
- Date: Tue, 22 Jun 2004 20:04:52 +0100
Daniel Veillard wrote:
I've tried registering my own external entity loader function with
xmlSetExternalEntityLoader, but it isn't being called when the parser
encounters e.g.
<!DOCTYPE doc SYSTEM "185.ent">
Is there something else I need to do?
by default libxml2 does not fetch external entities, basic mode of
operation of non-validating parsers. Turn on DTD loading,
I have already called xmlCtxtUseOptions with the XML_PARSE_DTDLOAD flag
before xmlParseDocument with that context (...?)
Then I have no idea of what's going on, really...
After a fairly extensive debug I've located the problem.
I am supplying a custom xmlSAXHandlerPtr, and swapping out the original
one that was created during xmlNewParserCtxt() - this is the methodology
suggested in the documentation. If I leave the original one in
place (as the "sax" member of xmlParserCtxt) then my external entity
loader function is called. If I replace with my own custom SAX handler,
it isn't. Everything else seems to work as expected though.
Clearly I actually need my own SAX handler functions to be invoked. The
question is, do I really need to proxy the original SAX handler, calling
its methods before/during/after the corresponding methods I define?
--
Chris Burdess
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]