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 
> <[email protected]> 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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/lxml.python.org
Member address: [email protected]

Reply via email to