如何从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>
答案 0 :(得分:2)
Saxon的JAXP XPath API实现中不提供自动表达式缓存。您当然可以自己将其实现为顶层。如果要利用Saxon中的自动缓存功能,则需要使用s9api接口,该接口在此处介绍:
http://www.saxonica.com/documentation/index.html#!xpath-api/s9api-xpath
我真的建议您迁移到s9api界面-它更适合XPath 2.0 / 3.1数据模型,它与其他Saxon功能(如XSLT / XQuery / XSD处理)更好地集成,并且具有更强的类型安全性。原则上,JAXP接口更具可移植性,但这是一种幻想,因为很多细节都是实现定义的。
请注意,版本9.6有点老了,并且与最新的XPath 3.1推荐不是最新的。您应该移至9.8。