3

我目前正在使用 XPath 3.1 语法,但由于某种原因,Saxon 输出错误:

To use XPath 3.1 syntax, you must configure the XPath parser to handle it.

我该怎么做呢?

非常感谢!!!

4

2 回答 2

4

如果您使用的是 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 是默认设置。

于 2015-11-30T22:34:42.517 回答
1

对于 XSLT 和 Saxon-HE 9.7.0.3J,它通过使用-xsltversion:3.0命令行选项或version="3.0"文档元素的属性来工作。

于 2016-02-23T18:11:03.403 回答