在xsl中访问param的值

时间:2013-03-18 12:32:42

标签: xslt

我试图从以下代码中获取名为Round的模板参数的值,但它返回空白,任何人都可以告诉我如何获取模板中参数的值

<xsl:apply-templates select="//solution">
            <xsl:with-param name="isRound">N</xsl:with-param>
</xsl:apply-templates>

  <xsl:template match="solution">
    <xsl:param name="isRound" />
    <test>
      <xsl:value-of select="$isRound"/>
    </test>
  </xsl:template>

输出结果为:

<test></test>

1 个答案:

答案 0 :(得分:1)

实际上这很有效。我尝试如下。添加样式表根元素等其他必要的东西。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/root">
        <xsl:apply-templates select="//solution">
            <xsl:with-param name="isRound">N</xsl:with-param>
        </xsl:apply-templates>
    </xsl:template>

    <xsl:template match="solution">
        <xsl:param name="isRound" />
            <test>
                <xsl:value-of select="$isRound"/>
            </test>
    </xsl:template>
</xsl:stylesheet>

输入例如。

<root>
    <solution/>
</root>

结果

<?xml version="1.0"?>
<test>N</test>