Questions about XSLT (XSL Transformations)
Greetings. I am interested to know more of the XSLT component of the module LXML. Is this XSLT component an own XSLT implementation, or is it a so called "binding" with another software (e.g. libxslt)? I ask because, the XSLT component of Python appears to fail, whereas Saxon JS suceeds. So, I am interested to improve the XSLT component of LXML. Regards, Schimon
Hello, If you take a look at the docs ( https://lxml.de/xpathxslt.html ) it says “lxml supports XPath 1.0, XSLT 1.0 and the EXSLT extensions through libxml2 and libxslt in a standards compliant way.” The Changelog ( https://github.com/lxml/lxml/blob/master/CHANGES.txt ) states that lxml version 6.0.0 (2025-06-26) binds against libxml2 2.14.4 and libxslt 1.1.43 (Windows: libxml2 2.11.9, libxslt 1.1.39). Both these libraries are maintained by the Gnome folks: - https://gitlab.gnome.org/GNOME/libxml2 - https://gitlab.gnome.org/GNOME/libxslt AFAIK Saxon and its Python bindings ( https://github.com/tennom/saxonpy ) provide later versions of both XPath and XSLT which would explain why lxml “fails” where Saxon succeeds. These are just different implementations of these XML processing components. Cheers, Jens
On Mar 5, 2026, at 19:10, Schimon Jehudah via lxml - The Python XML Toolkit <lxml@python.org> wrote:
Greetings.
I am interested to know more of the XSLT component of the module LXML.
Is this XSLT component an own XSLT implementation, or is it a so called "binding" with another software (e.g. libxslt)?
I ask because, the XSLT component of Python appears to fail, whereas Saxon JS suceeds.
So, I am interested to improve the XSLT component of LXML.
Regards, Schimon
Jens. Thank you for this information. The stylesheet is of XSLT 1.0; so I will report to libxslt. Would it be beneficial to have a Python implementation of XSLT? Thank you, Schimon On Thu, 5 Mar 2026 19:54:58 +1000 Jens Tröger via lxml - The Python XML Toolkit <lxml@python.org> wrote:
Hello,
If you take a look at the docs ( https://lxml.de/xpathxslt.html ) it says “lxml supports XPath 1.0, XSLT 1.0 and the EXSLT extensions through libxml2 and libxslt in a standards compliant way.”
The Changelog ( https://github.com/lxml/lxml/blob/master/CHANGES.txt ) states that lxml version 6.0.0 (2025-06-26) binds against libxml2 2.14.4 and libxslt 1.1.43 (Windows: libxml2 2.11.9, libxslt 1.1.39).
Both these libraries are maintained by the Gnome folks:
- https://gitlab.gnome.org/GNOME/libxml2 - https://gitlab.gnome.org/GNOME/libxslt
AFAIK Saxon and its Python bindings ( https://github.com/tennom/saxonpy ) provide later versions of both XPath and XSLT which would explain why lxml “fails” where Saxon succeeds. These are just different implementations of these XML processing components.
Cheers, Jens
On Mar 5, 2026, at 19:10, Schimon Jehudah via lxml - The Python XML Toolkit <lxml@python.org> wrote:
Greetings.
I am interested to know more of the XSLT component of the module LXML.
Is this XSLT component an own XSLT implementation, or is it a so called "binding" with another software (e.g. libxslt)?
I ask because, the XSLT component of Python appears to fail, whereas Saxon JS suceeds.
So, I am interested to improve the XSLT component of LXML.
Regards, Schimon
_______________________________________________ lxml - The Python XML Toolkit mailing list -- lxml@python.org To unsubscribe send an email to lxml-leave@python.org https://mail.python.org/mailman3//lists/lxml.python.org Member address: sch@fedora.email
participants (2)
-
Jens Tröger -
Schimon Jehudah