2010-08-08 31 views
0

我有以下XSLT 2.0模板:撒克遜9.2/Java的/ XSLT:使用setParameters()設置變壓器參數

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

我很努力programmatticaly提供currentTotal作爲參數傳遞給變壓器,就像這樣:

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

..但沒有任何積極的結果:

錯誤在/ XSL:變換/ XSL:溫度遲[3]/XSL:變量[1] XPST0008:在炭13上線 XPath語法錯誤-1 {$ currentTotal}: 變量$ currentTotal尚未聲明

當調用setParameter(),所述currentTotal變量也會被定義,對嗎? 我應該如何調用setParameter()調用,以便在樣式表中看到在我的應用程序中定義的currentTotal?使用

<xsl:param name="currentTotal"/> 

xsl:stylesheet元素中

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

回答

1

參數在樣式表中聲明:

爲了澄清,我實例化變壓器這樣的。您還可以使用select屬性或在元素內部定義默認值。

+0

的確,我需要定義變量。我期待它在setParameter時定義,但我錯了。 對不起,我遲到了,我正在度假。 謝謝! – user414366 2010-08-20 19:01:48