如何启用 Saxon xpath 表达式缓存?
How to enable Saxon xpath expression caching?
如何从 net.sf.saxon.xpath.XPathFactoryImpl 启用 Saxon xpath 表达式缓存?
在 documentation 中提到了 XPathCompiler,但我怎样才能访问它?
我正在使用
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.6.0-7</version>
</dependency>
自动表达式缓存在 Saxon 的 JAXP XPath 实现中不可用 API。您当然可以自己将其实现为顶层。如果您想利用 Saxon 中的自动缓存,您将需要使用此处记录的 s9api 接口:
http://www.saxonica.com/documentation/index.html#!xpath-api/s9api-xpath
我真的建议转移到 s9api 接口 - 它更适合 XPath 2.0/3.1 数据模型,它与 XSLT/XQuery/XSD 处理等其他 Saxon 功能更好地集成,并且它具有更强大的类型安全。原则上 JAXP 接口更便携,但这有点像错觉,因为很多细节都是实现定义的。
请注意,版本 9.6 有点老了,并且不是最新的 XPath 3.1 最终建议。你应该移动到 9.8.
如何从 net.sf.saxon.xpath.XPathFactoryImpl 启用 Saxon xpath 表达式缓存?
在 documentation 中提到了 XPathCompiler,但我怎样才能访问它?
我正在使用
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.6.0-7</version>
</dependency>
自动表达式缓存在 Saxon 的 JAXP XPath 实现中不可用 API。您当然可以自己将其实现为顶层。如果您想利用 Saxon 中的自动缓存,您将需要使用此处记录的 s9api 接口:
http://www.saxonica.com/documentation/index.html#!xpath-api/s9api-xpath
我真的建议转移到 s9api 接口 - 它更适合 XPath 2.0/3.1 数据模型,它与 XSLT/XQuery/XSD 处理等其他 Saxon 功能更好地集成,并且它具有更强大的类型安全。原则上 JAXP 接口更便携,但这有点像错觉,因为很多细节都是实现定义的。
请注意,版本 9.6 有点老了,并且不是最新的 XPath 3.1 最终建议。你应该移动到 9.8.