xslt从java传递参数

时间:2013-08-19 07:18:50

标签: xslt

我正在尝试将参数从java传递到XSLT V2.0

我尝试了在网站上找到的所有解决方案。但无法让它发挥作用。

从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" />

似乎没什么用。有人可以帮我这个。

1 个答案:

答案 0 :(得分:0)

如果您将param abcd声明为全局(直接在xs:schema元素下),则不必在模板中再次声明,因为可以从模板中访问它。

因此删除abcd参数的本地声明并仅保留全局声明。同时删除apply-templates中的with-param子句。