0

我有一个 XSL 文件,它成功地在桌面浏览器上转换了我的 XML。在那个 XSLT 中,我使用了 EXLT node-set() 函数。
尝试在 Android 上使用相同的 XSL 文件转换相同的 XML 文件时,它会抛出一个错误,指出“XPATH 表达式中的错误”,并指向我调用 node-set() 函数的行。
关于如何在 Android 中使用 xxx:node-set() 的任何想法?

4

2 回答 2

0

Android使用LibXML2,所以有一个hasExsltSupport()方法。如果启用,请按照http://www.exslt.org/exsl/index.html所示使用

于 2014-08-25T14:43:01.237 回答
0

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 只提供参数/变量。

于 2016-03-23T18:20:25.517 回答