Re: [xml] using src.rpm with non-default Python?



On Thu, May 10, 2007 at 05:14:38PM -0400, Brad Clements wrote:
(I hope this is not OT, my RPM foo is low. I am trying to debug a libxml2/libxslt 
problem) ..


I am trying to debug a stylesheet problem, where I get this error:

runtime error: file /home/bkc/src/eclipse/main24/tal2xslt/tal2xslt/xsl/tal2xslt. xsl 
line 450 element copy-of
Attribute nodes must be added before any child nodes to an element.

I do know what this means, but I'm stumped trying to figure out how to debug it.

My stylesheet is complex, and this particular template could be called from 
several different places via apply-templates. 

  xsltproc -v , log and analyze the debug output.

It would be handy to know the name of the output element that already has 
children, the names and values of the attributes already applied to that element (if 
any), the name of the attribute that is trying to be created, and the name(s) of 
child elements that already exist.


So I thought I'd try modifying libxslt/transform.c to see if I could output at least 
some of the above data in the error message.

  agreed adding more context information would really help.

I'm using RHEL4, but Python 2.4 is installed as an alternate install, so it's in 
/usr/local/bin/python2.4

When I install libxml2-2.6.28-1.src.rpm (via rpmbuild --rebuild), it picks up the 
system python  (version 2.3)

To work around this, after installing the source rpms for libxml2 and libxslt, I've 
been rebuilding libxml2-python-2.6.21 with python2.4. I know that libxml2-python-
2.6.21 is quite old.

Another issue is that xsltproc does not generate the error when performing a 
transform, however my Python application does generate the error, even though I 
think the parameters and input files are exactly the same.

So I am thinking that maybe using libxml2-python-2.6.21 isn't doing what I expect, 
and that I'm still getting some other version of libxslt via python2.4 (but I only see 
one libxslt.so* file on my system)

(I couldn't find a way from the python bindings to determine what version of 
libxml2 and libxslt was actually being loaded)

  try to run strace on the program and save the output to a log file.

So I've installed the source rpms and modified the error message in 
libxslt/transform.c and now I want to rebuild from the SPEC file and this time tell 
configure to use the alternate python, then install and this way I should be sure 
that python2.4 gets the correct, current bindings for libxslt.

  Honnestly having a /usr/local different version and trying to upgrade
systems components to use this is intenable. No idea how to do that
cleanly.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
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]