1

我正在尝试将参数从 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" />

似乎没有任何效果。有人可以帮我解决这个问题。

4

1 回答 1

0

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

所以删除 abcd 参数的局部声明,只保留全局声明。还要删除 apply-templates 中的 with-param 子句。

于 2013-08-20T05:19:15.523 回答