如何启用Saxon xpath表达式缓存?

时间:2018-06-26 20:14:31

标签: java xpath saxon

如何从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>

1 个答案:

答案 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。