2013-08-19 105 views
1

我想從Java傳遞參數到XSLT V2.0xslt從java傳遞參數

我嘗試了所有在網站上找到的解決方案。但無法讓它工作。

從Java中我已經給如下:

transformer.setParameter( 「ABCD」,strMessageHeader);

而在XSL我有如下

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" /> 

<xsl:param name="abcd" /> 

<xsl:template match="/"> 
    <xsl:param name="abcd" /> 
    <xsl:apply-templates> 
     <xsl:with-param name="abcd" /> 
    </xsl:apply-templates> 
</xsl:template> 

<xsl:template match="/RequestPayload"> 
    <xsl:param name="abcd" /> 

<Hdr> 
    <xsl:value-of select="*[name()=$abcd]" /> 
</Hdr> 

    . 
    . 

</xsl:template> 

我也試着像下面

<xsl:value-of select="$abcd" /> 

似乎沒有任何工作。有人可以幫助我做到這一點。

回答

0

只要您將param abcd聲明爲全局(直接在xs:schema元素下),您不必在模板中聲明它,因爲它可以從中訪問。

因此,刪除abcd參數的本地聲明,並保持僅全局參數。還要在apply-templates中刪除with-param子句。