Существуют ли компиляторы для XPath версии 2, которые могут создавать дамп дерева выполнения? - PullRequest
0 голосов
/ 23 июня 2019

Мне нужно что-то, что может записать дерево выполнения для любого скомпилированного выражения XPath версии 2.

С помощью программы testXPath, поставляемой с libxml2, вы можете скомпилировать выражение XPath и затем вывести дампдерево, которое представляет шаги для выполнения этого выражения.Но это только для XPath версии 1.

Я несколько дней гуглял, чтобы найти что-то для XPath версии 2. Без удачи.

Вот пример с testXPath:

testXPath --tree '/foo[@bar="baz"]/horse'

Вывод:

  SORT
    COLLECT  'child' 'name' 'node' horse
      COLLECT  'child' 'name' 'node' foo
        ROOT
        PREDICATE
          EQUAL =
            COLLECT  'attributes' 'name' 'node' bar
              NODE
            ELEM Object is a string : baz
              COLLECT  'attributes' 'name' 'node' bar
                NODE

Вот пример с XPath версии 2:

testXPath --tree '/foo/(bar|baz)'

И результат:

XPath error : Invalid expression
/foo/(bar|baz)
     ^

1 Ответ

0 голосов
/ 24 июня 2019

Saxon-EE экспортирует XML-представление внутреннего дерева выражений XPath, используя метод Expression.export(). Это поддерживает XPath 3.1.

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