2008-09-26 48 views
19

是否有一個純Python的XSLT庫?純Python XSLT庫

安裝libxml2的+或的libxslt任何類似的C庫是一些我需要支持的平臺的問題。

我真的只需要基本的XSLT支持,並且速度不是主要問題。

回答

9

不幸的是,目前還沒有純python XSLT處理器。如果您需要更獨立於平臺的東西,則可能需要使用基於Java的XSLT處理器,如Saxon。 4Suite正在開發一個純python XPath解析器,但它看起來並不像純粹的XSLT處理器會出現一段時間。也許最好是使用一些Python的功能來嘗試和近似現有的樣式表,或者研究使用Java的可行性。

1

你有沒有看着4suite

+0

4Suite的部件是在C,不知道這很重要。 – 2008-09-26 10:10:48

+0

是的,這很重要。我正在尋找一個純粹的Python實現。我不想在某些平臺上編譯(更不用說安裝!)任何C了。 – 2008-09-26 10:13:52

1

如果您只需要基本支持,並且您的XML不太瘋狂,請考慮從等式中移除XSLT元素,並使用DOM/SAX解析器。

下面是來自PythonInfo Wiki一些信息:

[DOM]吸收了整個XML文件, 保持在內存中,並讓你的工作 它。另一方面,Sax在發送 事件時會一步一步通過 該文件。

你覺得呢?

+0

不錯的想法,但在這種情況下,我有現有的XSLT,我想在我無法編譯任何代碼或安裝庫的平臺上使用。 – 2008-11-13 13:19:35

6

我不認爲你可以在CPython的做到這一點:有沒有純Python XSLT實現。

但是你可以平凡做到Jython中,使用JVM的內置XSLT的API。我在Google AppEngine上撰寫了一篇博客文章,但在任何情況下,給出的代碼都應該在jython下工作。

用XSLT在谷歌的AppEngine和Jython

http://jython.xhaus.com/transforming-with-xslt-on-google-appengine-and-jython/

HTH轉化,

艾倫。

1

還有http://lxml.de/

「LXML是功能最爲豐富且易於使用的庫,用於處理XML和HTML的Python語言。」