Re: [xml] How do I detect node identity in the Python bindings?



On Thu, Jun 17, 2004 at 11:35:00AM -0400, Victor Ng wrote:
How do I get the same reference for a node in libxml2?

The Python wrappers and the PyCObject have different references, so I 
can't seem to find a safe way to deallocate memory.

Here's a snippet to show the problem:

 >>> import libxml2
 >>> doc = libxml2.newDoc('1.0')
 >>> root = doc.newChild(None, 'root', None)
 >>> print root, doc.children <xmlNode (root) object at 0x419c60> 
<xmlNode (root) object at 0x4710d0>
 >>> print root._o, doc.children._o
<PyCObject object at 0x221d0> <PyCObject object at 0x22170>

Is this a bug in libxml2's Python bindings or does libxml2 exhibit this 
behavior when I use the native C bindings?

  That's a problem in the python bindings, the objects are the same at the
C level but the wrapper creates new objects. an extra function to test
the underlying C node equality would be needed.

Daniel

-- 
Daniel Veillard      | Red Hat Desktop team http://redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



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