Ответ 1
Вы можете рассматривать Java-версию XPath 2.0 или XQuery (выбор XSLT 2.0 обеспечивает гораздо более мощную функциональность), например Saxon 9. х.
Saxon является открытым исходным кодом и одним из самых высококачественных Java-процессоров, и я использую его ежедневно, когда отвечаю на вопросы SO XSLT/XPath/XQuery. В документации вы найдете примеры хорошего кода.
Единственная автономная реализация XPath 2.0, о которой я знаю, - PsychoPath, но я не уверен его качество и удобство использования.