纯Python XSLT库
时间:2020-03-06 14:46:29 来源:igfitidea点击:
是否有一个纯Python的XSLT库?
在我需要支持的某些平台上,安装libxml2 + libxslt或者任何类似的C库是一个问题。
我真的只需要基本的XSLT支持,并且速度不是主要问题。
解决方案
你看过4suite了吗?
如果我们只需要基本支持,而XML并不太疯狂,请考虑从等式中删除XSLT元素,而仅使用DOM / SAX解析器。
这是来自PythonInfo Wiki的一些信息:
[DOM] sucks up an entire XML file, holds it in memory, and lets you work with it. Sax, on the other hand, emits events as it goes step by step through the file.
你怎么认为?
不幸的是,目前没有纯Python的XSLT处理器。如果我们需要某种与平台无关的工具,则可能需要使用基于Java的XSLT处理器,例如Saxon。 4Suite正在使用纯Python XPath解析器,但是看起来纯XSLT处理器不会出现一段时间。也许最好是使用Python的某些功能来尝试近似现有样式表,或者研究使用Java的可行性。
我认为我们无法在cpython中做到这一点:没有纯python XSLT实现。
但是我们可以使用JVM的内置XSLT API在jython中轻松完成此操作。我针对在Google AppEngine上进行此操作的具体情况写了一篇博客文章,但是给出的代码在任何情况下都应该在jython下工作。
在Google AppEngine和jython上使用XSLT进行转换
http://jython.xhaus.com/transforming-with-xslt-on-google-appengine-and-jython/
HTH,
艾伦