[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
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]