Tag: 撒克逊

Saxon 9.2 / Java / XSLT:使用setParameters()设置变换器参数

我有以下XSLT 2.0模板: .. 我正在努力编程提供currentTotal作为变换器的参数,如下所示: transformer.setParameter(“currentTotal”, new Double(“100”)) ..但没有任何积极的结果: / xsl处的错误:transform / xsl:template [3] / xsl:variable [1] XPST0008:{$ currentTotal}中第-1行的字符13处的XPath语法错误:变量$ currentTotal尚未声明 当调用setParameter() , currentTotal变量也会被定义,对吗? 我应该如何调用setParameter()调用,以便在样式表中看到我的应用程序中定义的currentTotal ? 为了澄清,我正在实例化这样的变换器: System.setProperty(“javax.xml.transform.TransformerFactory”, “net.sf.saxon.TransformerFactoryImpl”); transformerFactory = new TransformerFactoryImpl(); transformer = transformerFactory.newTransformer(inputNodes);

关于使用Saxon使用默认命名空间对xml进行xpath解析

我想要一些与使用saxon对默认命名空间进行xpath解析相关的信息。 我使用Saxon-HE-9.5.1-3.jar在我的代码中使用xpath 2function。 在类路径中包含saxon库之后,我面临着使用默认命名空间解析XML文档的xpath的问题。 使用以下示例XML: 100 有效的XPATH:/ RESPONSE / HEADER / HITS 以下是它工作但不起作用的情况: “XPATH Works” :未指定命名空间时 示例: “XPATH Works” :当给出带前缀的命名空间时 示例: “XPATH不起作用” :当给出带有out前缀的默认命名空间时示例: 你能否帮我解释一下为什么撒克逊以不同的方式处理没有命名空间和默认命名空间? 另外,我如何解决使用默认命名空间为文档执行xpath的情况。 下面是我的代码块: import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import net.sf.saxon.xpath.XPathEvaluator; import net.sf.saxon.xpath.XPathFactoryImpl; . . . DocumentBuilder builder; Document doc; DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); […]