On Wed, Sep 06, 2006 at 01:38:06AM +0100, Nic James Ferrier wrote: > I've knocked up a patch for python wrapping the xslt loader API. > > My patch facilitates writing loaders in python. > > But I'm having problems getting the xmlDocPtr back from a python > function. [...] > When I do this I don't seem to get a valid doc. > > The python I'm using is: > > def fn(url, ctx): > try: > # print url > ctxt = libxml2.parserCtxt(_obj=ctx) > doc = ctxt.ctxtReadDoc("""<?xml version='1.0'?><b/>""", url, "UTF-8", > 0) > return doc
The C object wrapper is in doc._o, maybe you don't want to have the function return it, in that case at the C level you may have to grab the _o > except Exception, e: > print >>sys.stderr, "something went wrong:", e > return None > > The return value of ctxtReadDoc is a PyCObject wrapped xmlDocPtr so I > presumed that I'd just be able to access it with PyxmlNode_Get. But as > I say... this is not so. I think there is one more layer :-) sorry for the complexity ... > > Anybody know what mantra I need to get at the doc object returned from > python in this instance? lookup the _o, see libxml2.py especially the xmlDoc constructor. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org http://mail.gnome.org/mailman/listinfo/xml