применить функцию xslt к некоторым узлам из libxml2 в Python - PullRequest
2 голосов
/ 28 июня 2011

В скрипте Python я хочу применить следующие функции XSLT: normalize-space и преобразовать в некоторые узлы из дерева libxml2

Можно ли это сделать без написания таблицы стилей?

Если требуется таблица стилей, как она будет выглядеть?

как установить узел контекста для данного узла из python?

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Оба normalize-space() и translate() являются стандартными функциями XPath , поэтому их можно использовать в любом выражении XPath - без XSLT.

Просто используйте API для вашего движка XPath.

0 голосов
/ 29 июня 2011

на самом деле это очень просто: D

context = xmlDoc.xpathNewContext()
extractedContent = context.xpathEval( normalize-space( translate( /html[1]/body[1]/div[1]/div[2]/div[2]/div[1]/div[2]/div[1]/form[1]/div[2]/h3[1] , ' ' , ' ' ) )
context.xpathFreeContext()

Я думал, что к normalize-space и translate можно получить доступ только из движка XSLT. Я ошибся

...