Чистая библиотека Python XSLT
Есть ли библиотека XSLT, которая является чистым Python?
Установка libxml2 + libxslt или любых подобных библиотек C является проблемой на некоторых платформах, которые мне необходимо поддерживать.
Мне действительно нужна только базовая поддержка XSLT, и скорость не является серьезной проблемой.
Ответы
Ответ 1
К сожалению, на данный момент нет чип-процессоров XSLT. Если вам требуется что-то более независимое от платформы, вы можете захотеть использовать Java-процессор XSLT, например Saxon. 4Suite работает над парсером XPath pure-python, но не выглядит, как чистый процессор XSLT будет отсутствовать в течение некоторого времени. Возможно, было бы лучше использовать некоторые функциональные возможности Python, чтобы попытаться приблизиться к существующей таблице стилей или изучить возможность использования Java.
Ответ 2
Я не думаю, что вы можете сделать это в cpython: нет чистых реализаций XSLT python.
Но вы можете тривиально сделать это в jython, используя встроенные XSLT-API JVM. Я написал сообщение в блоге о конкретном случае его выполнения в Google AppEngine, но указанный код должен работать под jython в любых обстоятельствах.
Преобразование с помощью XSLT в Google AppEngine и jython
http://jython.xhaus.com/transforming-with-xslt-on-google-appengine-and-jython/
НТН,
Алан.
Ответ 3
Вы посмотрели 4suite?
Ответ 4
Если вам нужна только базовая поддержка, а ваш XML не слишком сумасшедший, подумайте об удалении элемента XSLT из уравнения и просто используя парсер DOM/SAX.
Вот некоторая информация из PythonInfo Wiki:
[DOM] всасывает весь XML файл, хранит его в памяти и позволяет работать с этим. Sax, с другой стороны, испускает события по мере прохождения шаг за шагом файл.
Как вы думаете?
Ответ 5
Там также http://lxml.de/
"lxml - это самая многофункциональная и простая в использовании библиотека для обработки XML и HTML на языке Python".