我目前正在使用 XPath 3.1 语法,但由于某种原因,Saxon 输出错误:
To use XPath 3.1 syntax, you must configure the XPath parser to handle it
.
我该怎么做呢?
非常感谢!!!
我目前正在使用 XPath 3.1 语法,但由于某种原因,Saxon 输出错误:
To use XPath 3.1 syntax, you must configure the XPath parser to handle it
.
我该怎么做呢?
非常感谢!!!
如果您使用的是 s9api API,请使用XPathCompiler.setLanguageVersion("3.1")
.
如果您使用的是 JAXP,那可能是个坏主意,因为 JAXP XPath API 无法处理丰富的 XPath 3.1 数据类型;但如果必须,将 XPath 对象强制转换为 net.sf.saxon.xpath.XPathEvaluator;然后调用 getStaticContext().setXPathLanguageLevel()。
在 Saxon 9.7 中,支持的默认 XPath 语言级别是 3.0,因为这是已达到推荐状态的最新 W3C 规范。
更新
在 Saxon 9.8 中,XPath 3.1 是默认设置。
对于 XSLT 和 Saxon-HE 9.7.0.3J,它通过使用-xsltversion:3.0
命令行选项或version="3.0"
文档元素的属性来工作。