我正在尝试将参数从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" />
似乎没什么用。有人可以帮我这个。
答案 0 :(得分:0)
如果您将param abcd声明为全局(直接在xs:schema元素下),则不必在模板中再次声明,因为可以从模板中访问它。
因此删除abcd参数的本地声明并仅保留全局声明。同时删除apply-templates中的with-param子句。