使用xsl:with-param将标记传递到模板中

时间:2012-01-23 11:14:36

标签: xslt

我有以下xslt模板:

<xsl:template name="with-newlines">
    <xsl:param name="text" />
    <fo:block linefeed-treatment="preserve" white-space-collapse="false" wrap-option="wrap" white-space-treatment="preserve">
        <xsl:value-of select="$text" />
    </fo:block>
</xsl:template>

我想在元素上应用带有xsl:call-template的模板:

<xsl:call-template name="with-newlines">
    <xsl:with-param name="text">
        <fo:inline font-size="8pt">
            <xsl:value-of select="./Foo/Bar"></xsl:value-of>
        </fo:inline>
    </xsl:with-param>
</xsl:call-template>

但是,生成的pdf文件中将忽略fo-inline标记。如果我将标签放在模板本身,我会得到正确的fontsize。但是,我不能在font-size(或其他属性)需要不同的地方使用模板。

1 个答案:

答案 0 :(得分:4)

使用<xsl:copy-of select="$text"/>代替value-of