Re: [xml] Does libxml2 create nodes on-the-fly?
- From: Andreas Pakulat <apaku gmx de>
- To: xml gnome org
- Subject: Re: [xml] Does libxml2 create nodes on-the-fly?
- Date: Sat, 24 Jun 2006 17:19:02 +0200
On 24.06.06 09:12:47, Daniel Veillard wrote:
On Sat, Jun 24, 2006 at 12:26:47AM +0200, Andreas Pakulat wrote:
On 23.06.06 17:05:08, Daniel Veillard wrote:
On Fri, Jun 23, 2006 at 10:07:20PM +0200, Andreas Pakulat wrote:
Anybody with a hint, how to check wether 2 nodes are the same?
unfortunately I'm afraid you need to go down to the C level and
check the 2 pointers, they aren't seen at the python level. Should be
a fairly easy change to python/libxml.c to add this equality entry point
and then add a method in the node class in libxml.py to be used for
comparison.
Ok, first I'll open a wishlist bug for this and then I'll try to do this
that that's a good first step :-)
(though I'm not familiar with libxml2's C Interface, nor the
Python-C-Bridge-Stuff in general)...
Should be fairly simple, make a C python binding routine based on
existing ones in python/libxml.c , give it a significant name,
change the beginning to expect 2 python obect references as arguments,
see type.h to see how the C object is attached, get the two xmlNodePtr
associated. Compare them, and return an python 0 or 1, then register
the new routine at the end of libxml.c
So far, no big deal I think (couldn't test yet, see below).
now in libxml.py override the comparator operator to call that routine
in libxml2mod, add a python test case in test/ and bingo you're done :-)
But this is a bit of a problem. I'd like to use __eq__ and __ne__ on
xmlNode class to implement the equality check without an extra function.
However I don't see how I could add that. libxml.py contains only
functions and no class definitions and libxml2class.txt only contains
method names and no bodies. And I don't really want to try to understand
how the conversion from libxml2class.txt -> libxml2class.py works. Do
you have an idea for this, or do I need to make it a global function?
Andreas
--
Good news. Ten weeks from Friday will be a pretty good day.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]