On 5 Apr 2005 at 16:48, Daniel Veillard wrote:

>   and what happens when 2 threads use libxml2 python bindings. Parsing of A
> fails because parsing of B generated and error. No this is more complex
> than that, really.

Somewhat unrelated to error handler callbacks..

My code uses this code when working with libxslt in Zope:
 
  libxml2.setEntityLoader(_Resolver) # this is a process-wide change, 

and wish it were per-thread or even per-document instead of being global.

But anyway, with respect to the entityloader function itself. If an 
entityloader generates 
a python exception, libxml2 doesn't propogate that error back through the 
system to 
"cancel" the current conversion or parsing process.

The last time I looked at the source, libxml2 considered an exception to be the 
same as 
returning "None", which means "I can't handle this, use the default loader".

When looking at handling python exceptions, it would be nice to try to figure 
out how to 
propogate the exception condition back-up through the calling chain so that 

    doc = libxml2.parseDoc(srcXML)

or

    result = style.applyStylesheet(doc,stylesheetArgs) 

exposes the exception created in the EntityLoader callback..

I tried looking through the source last year, but it's a bit more complicated 
than I had 
first imagined, so I gave up. :-(



-- 
Brad Clements,                [EMAIL PROTECTED]   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
http://www.wecanstopspam.org/                   AOL-IM: BKClements

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to