[xml] UTF-8 to UTF-8 conversion problem



I'm attempting to get mod-python playing  nicely with mod-xslt. 
mod-xslt uses libxslt2, and works very well on static files.  When I
started feeding it (UTF-8 encoded) dynamic content from mod-python, I
started to recieve the following errors in httpd.conf:

mod-xslt: added document parameters
mod-xslt: starting transformation of /var/www/html/test
mod-xslt: transforming with file:///var/www/html/skins/x/default.xslt
mod-xslt: applied stylesheet
mod-xslt: charset = UTF-8
mod-xslt: found encoder
mod-xslt: created output-buffer
mod-xslt: xmlCharEncOutFunc: no output function !
mod-xslt: xmlOutputBufferFlush: encoder error
mod-xslt: wrote eos-bucket to result-brigade

These seem to be the best indicator of the failure:

mod-xslt: xmlCharEncOutFunc: no output function !
mod-xslt: xmlOutputBufferFlush: encoder error

Looking in the libxml source, I can see this comes from
xmlCharEncOutFunc, in the event that both handler->output and
handler->iconv_out are null.

I believe the output is set to null in xmlInitCharEncodingHandlers, with
the following line:

xmlNewCharEncodingHandler("UTF-8", NULL, NULL);

It appears that converting UTF-8 to UTF-8 (which libxslt2 uses
internally) causes an error condition.  Should there be a UTF8ToUTF8
"nop" function, or is this better fixed another way?

BTW, googling, I also ran across this message from Phillip Dunkel (the
author of mod_xslt, who has not answered my mail yet) from September 02.

http://mail.gnome.org/archives/xml/2002-September/msg00130.html

It appears he has run across the same problem.

If anyone needs my apache configuration, python scripts, or the location
of mod_xslt's source, please let me know.  I think the problem is
probably easily reproducable in a much simpler environment by someone
more familiar with the libxml codebase, though.

Thanks for your time.

  - Scott Russell




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]