gpt4 book ai didi

java - 撒克逊 9.2/Java/XSLT : setting transformer parameters using setParameters()

转载 作者:行者123 更新时间:2023-12-01 16:02:37 25 4
gpt4 key购买 nike

我有以下 XSLT 2.0 模板:

<xsl:template name="t1">
<xsl:variable name="totalpos" as="xsd:double" select="$currentTotal"/>
..

我正在努力以编程方式提供 currentTotal 作为变压器的参数,如下所示:

transformer.setParameter("currentTotal", new Double("100"))

..但没有任何积极的结果:

Error at /xsl:transform/xsl:template[3]/xsl:variable[1] XPST0008: XPath syntax error at char 13 on line -1 in {$currentTotal}: Variable $currentTotal has not been declared

当调用setParameter()时,currentTotal变量也会被定义,对吗?我应该如何调用 setParameter() 调用,以便在样式表中看到应用程序中定义的 currentTotal

为了澄清起见,我像这样实例化变压器:

System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
transformerFactory = new TransformerFactoryImpl();
transformer = transformerFactory.newTransformer(inputNodes);

最佳答案

参数必须在样式表中使用声明

<xsl:param name="currentTotal"/>

xsl:stylesheet 元素内。您还可以使用 select 属性或在元素主体内定义默认值。

关于java - 撒克逊 9.2/Java/XSLT : setting transformer parameters using setParameters(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com