[XML-SIG] PyXML, 4suite, libxml2... what should I choose?
frans.englich at telia.com
Mon Nov 29 20:34:44 CET 2004
I need some guidance for the various XML implementations.
In my project I use the Python DOM classes for instantiations of my XML data,
and I need XPath functionality, WXS validation, and XSLT processing.
Currently, I pipe out my structures to libxml2/libxslt's xmllint/xsltproc for
doing validation, and XSLT processing. libxml2 is capable, but the solution
is ugly, and slow(de-serialization/serialization). In addition, I lack XPath
functionality. I have no intentions to skip Python's XML structures, and use
for example libxml2's.
So, my plan is to get XPath somewhere, and perhaps be able to substitute
libxml2 for something more Pythonic while I'm at it.
From what I can tell, there is three major packages to keep an eye on: 1)
standard Python; 2) PyXML; 3) 4suite. Let me see if I got this straight:
* Python have _no_ XPath implementation (right?)
* PyXML install an XPath implementation(written by fourthought) into Python's
package xml(xml.xpath). Is it version 1.0? Is it robust and stable?
* PyXML has xml.xslt; not an option since it's not stable/production quality,
according to the docs -- or what is its status? How much "experimental" is
* 4suite has XPath(another implementation written by fourthought..?) and
* Neither PyXML nor 4suite has a W3C XML Schema stack, so I'll have to look
elsewhere; one alternative is XSV but it brings in addition a dependency on
PyLTXML. Looks like continuing to pipe to libxml2's xmllint(or link) is still
the best alternative.
What is the best option(s) for me? With my interest of keeping the
dependencies down, should I go for PyXML-XPath + PyXML-XSLT _if_ it's good
enough or libxslt + libxml2-WXS? I could use 4suite's XSLT, but since I
nevertheless will have a dependency on libxml2/libxslt for WXS I can use
that(and eat the speed penalty).
Important is it has a future(maintained..) and is stable/trustable.
What should I go for, and what have I missed?
BTW, is there any plans to merge any XSLT/XPath stack into vanilla Python?
(when?) It's functionality often needed, AFAICT.
Yes, I'm new on the Python & XML front..
More information about the XML-SIG