Это не ответ, я просто хотел прокомментировать ответ Майкла, но комментирование очень ограничено.Спасибо за ответ, Майкл.Мои зависимости следующие:
<dependency>
<groupId>net.sourceforge.saxon</groupId>
<artifactId>saxon</artifactId>
<version>9.1.0.8</version>
</dependency>
<dependency>
<groupId>net.sourceforge.saxon</groupId>
<artifactId>saxon</artifactId>
<version>9.1.0.8</version>
<classifier>xpath</classifier>
</dependency>
<dependency>
<groupId>net.sourceforge.saxon</groupId>
<artifactId>saxon</artifactId>
<version>9.1.0.8</version>
<classifier>dom</classifier>
</dependency>
AFAIK, это последнее в репозитории Maven.Пожалуйста, дайте мне знать, если я что-то упустил здесь.Ваше объяснение ситуации было очень хорошим, за исключением того, что мне нужен пример кода, чтобы понять, как все это сделать.Я внес следующие изменения, и это сработало!
InputSource is = new InputSource(this.getClass().getResourceAsStream("parametrizedId_feed.xml"));
SAXSource ss = new SAXSource(is);
XPath xpath = XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON).newXPath();
NodeInfo doc1 = ((XPathEvaluator)xpath).setSource(ss);
System.out.println("Loaded XPath Provider " + xpath.getClass().getName());
List s = (List) xpath.evaluate(xpathString, doc1 , XPathConstants.NODESET);
for(int i = 0 ; i<s.size(); i++){
String n = (String) s.get(i);
System.out.println(n);
}
Что вы имели в виду под моделью дерева Саксона?Единственная проблема - метод оценки возвращает List вместо NodeList.Я хочу упомянуть, что мы переехали в Saxon из-за превосходной скорости и лучшей функциональности, поэтому кодовая база имеет много зависимостей от JAXP API, который является адским приключением.