首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有用于XPath version2的编译器可以转储执行树?

是否有用于XPath version2的编译器可以转储执行树?
EN

Stack Overflow用户
提问于 2019-06-23 21:36:37
回答 1查看 20关注 0票数 0

我需要一些东西,可以为任何已编译的XPath版本2表达式写出执行树。

使用libxml2附带的程序testXPath,您可以编译一个XPath表达式,然后转储表示执行该表达式的步骤的树。但它仅适用于XPath版本1。

我已经用谷歌搜索了几天,想找到适用于XPath版本2的东西,但没有找到。

下面是一个使用testXPath的示例:

代码语言:javascript
复制
testXPath --tree '/foo[@bar="baz"]/horse'

输出:

代码语言:javascript
复制
  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的示例:

代码语言:javascript
复制
testXPath --tree '/foo/(bar|baz)'

结果是:

代码语言:javascript
复制
XPath error : Invalid expression
/foo/(bar|baz)
     ^
EN

回答 1

Stack Overflow用户

发布于 2019-06-24 05:16:20

Saxon-EE将使用Expression.export()方法导出内部XPath表达式树的XML表示。这支持XPath 3.1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56724411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档