Оценить динамическую строку как выражение XPath?

В настоящее время я пишу что-то для модульного тестирования функций XSLT2, идея очень проста:

  1. Создайте custom-library.xsl, который содержит некоторые пользовательские функции XSLT2.
  2. Создать XML-файл данных, содержащий тестовые примеры, как показано в следующей схеме XML: xslunit.xsd :

    структура схемы http://xml.bodz.net/schema/xslunit/xslunit.png < / а>

  3. Запустите тестовые примеры, преобразовав его с помощью xslunit-xslt2.xsl. , и получите результат теста html.

Теперь вопрос в том, что в тестовых примерах есть вызов функции, и я должен оценить его в XSLT (файл xslunit-xslt2.xsl). Но я не могу найти способ оценить XPath.

Хотя может быть легко использовать какие-то расширения Java, но я действительно не хочу создавать другие проблемы. Я надеюсь, что все может работать только с XSLT2.


person Xiè Jìléi    schedule 04.01.2011    source источник


Ответы (1)


Нет, чистый XSLT 2.0 не поддерживает оценку выражения XPath, найденного в ваших XML-данных. Однако Saxon 9 (в его коммерческих версиях) имеет функцию расширения: http://www.saxonica.com/documentation/extensions/functions/evaluate.xml. Аналогичный инструмент есть и в AltovaXML Tools: http://manual.altova.com/AltovaXML/altovaxmlcommunity/index.html?xextaltova_general.htm

person Martin Honnen    schedule 04.01.2011
comment
Я предполагаю, что exslt.org/dyn/functions/evaluate/index.html является также стоит упомянуть. Это реализовано, например, в libxslt, которая все еще находится в мире 1.0. - person Flack; 04.01.2011
comment
спасибо за альтовую ссылку, правда я вообще просто пользуюсь редактором. Если я определил, какой инструмент использовать, всегда есть способ расширения. Поэтому я рассматриваю другой подход к модульному тестированию xslt. - person Xiè Jìléi; 04.01.2011