Android: как использовать xxx:node-set() для преобразования XSLT в Android

У меня есть XSL-файл, который успешно преобразует мой XML в браузере рабочего стола. В этом XSLT я использую функцию EXLT node-set().
При попытке преобразовать тот же XML-файл, используя тот же XSL-файл на Android, он выдает ошибку "Заявить об ошибке в выражении XPATH" и указывает на строку, где я вызываю функцию node-set ().
Любые идеи о том, как использовать xxx:node-set() в Android?

2 ответа

Android использует LibXML2, поэтому есть hasExsltSupport() метод. Если включено, используйте как показано на http://www.exslt.org/exsl/index.html

Android использует Xalan. Мне не удалось заставить Android Studio собираться с объявленными расширениями exslt, но функции пространства имен xalan собираются после загрузки объявлений пространства имен. К сожалению, он по-прежнему выдает ошибки:

javax.xml.transform.TransformerException: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object org.apache.xalan.extensions.ExtensionsTable.extFunction(org.apache.xpath.functions.FuncExtFunction, java.util.Vector, org.apache.xalan.extensions.ExpressionContext)' on a null object reference

Это похоже на ошибку, потому что контекст должен исходить от процессора, xsl предоставляет только параметр / переменную.

Другие вопросы по тегам