Чистая библиотека Python XSLT - PullRequest
19 голосов
/ 26 сентября 2008

Есть ли библиотека XSLT, которая является чистым Python?

Установка libxml2 + libxslt или любых подобных библиотек C является проблемой на некоторых платформах, которые мне нужно поддерживать.

Мне действительно нужна только базовая поддержка XSLT, и скорость не является серьезной проблемой.

Ответы [ 5 ]

9 голосов
/ 27 февраля 2009

К сожалению, в настоящее время нет чисто Python XSLT-процессоров. Если вам нужно что-то более независимое от платформы, вы можете использовать XSLT-процессор на основе Java, такой как Saxon . 4Suite работает над парсером XPath на чистом python, но не похоже, что чистый XSLT-процессор выйдет в течение некоторого времени. Возможно, было бы лучше использовать некоторые из функциональных возможностей Python, чтобы попытаться приблизить существующую таблицу стилей или изучить возможность использования Java.

6 голосов
/ 02 декабря 2009

Я не думаю, что вы можете сделать это в cpython: нет чистых реализаций XSLT на python.

Но вы можете тривиально сделать это в jython, используя встроенные API-интерфейсы XSLT JVM. Я написал сообщение в блоге для конкретного случая выполнения этого в Google AppEngine, но приведенный код должен работать при Jython при любых обстоятельствах.

Преобразование с помощью XSLT в Google AppEngine и jython

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

НТН,

Алан.

1 голос
/ 01 февраля 2013

Там также http://lxml.de/

"lxml - это самая многофункциональная и простая в использовании библиотека для обработки XML и HTML на языке Python."

1 голос
/ 26 сентября 2008

Если вам нужна только базовая поддержка и ваш XML не слишком сумасшедший, рассмотрите возможность удаления элемента XSLT из уравнения и просто используйте анализатор DOM / SAX.

Вот некоторая информация из PythonInfo Wiki :

[DOM] высасывает весь XML-файл, держит его в памяти и позволяет работать с этим. Саксофон, с другой стороны, испускает события, как это происходит, шаг за шагом файл.

Что вы думаете?

1 голос
/ 26 сентября 2008

Вы смотрели на 4suite ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...