Saxon 9.2/Java/XSLT:使用setParameters()设置转换器参数
我有以下XSLT 2.0模板:Saxon 9.2/Java/XSLT:使用setParameters()设置转换器参数,java,xslt,saxon,transformer,Java,Xslt,Saxon,Transformer,我有以下XSLT 2.0模板: <xsl:template name="t1"> <xsl:variable name="totalpos" as="xsd:double" select="$currentTotal"/> .. 。。但没有任何积极的结果: 在/xsl:transform/xsl:template[3]/xsl:variable[1]XPST0008处出错: {$currentTotal}中第1行char 13处的XPath语法错误: 尚未声明变量$
<xsl:template name="t1">
<xsl:variable name="totalpos" as="xsd:double" select="$currentTotal"/>
..
。。但没有任何积极的结果:
在/xsl:transform/xsl:template[3]/xsl:variable[1]XPST0008处出错:
{$currentTotal}中第1行char 13处的XPath语法错误:
尚未声明变量$currentTotal
调用setParameter()
时,也会定义currentTotal
变量,对吗?
如何调用setParameter()
调用,以便在样式表中看到应用程序中定义的currentTotal
为了澄清,我将变压器实例化如下:
transformer.setParameter("currentTotal", new Double("100"))
System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
transformerFactory = new TransformerFactoryImpl();
transformer = transformerFactory.newTransformer(inputNodes);
必须在样式表中使用
<xsl:param name="currentTotal"/>
在
xsl:stylesheet
元素内部。您还可以使用select
属性或在元素体内部定义默认值。实际上,我需要定义变量。我希望在设置参数时会定义它,但我错了。对不起,我的支票迟了,我在度假。谢谢