Как включить кэширование саксонских выражений xpath? - PullRequest
0 голосов
/ 26 июня 2018

Как включить кэширование выражений Saxon xpath из net.sf.saxon.xpath.XPathFactoryImpl?

В документации упоминается XPathCompiler, но как мне получить к нему доступ?

Я использую

    <dependency>
        <groupId>net.sf.saxon</groupId>
        <artifactId>Saxon-HE</artifactId>
        <version>9.6.0-7</version>
    </dependency>

1 Ответ

0 голосов
/ 27 июня 2018

Автоматическое кэширование выражений недоступно в реализации 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.

...