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