如何将特定模板添加到文本中

时间:2014-02-21 09:52:24

标签: xml xslt

我有xsl:templatexsl:text。我想将此模板应用于文本。我刚刚将param值更改为"./asd:myNote",但它不起作用。我还需要做些什么吗?

我的文字:

<xsl:value-of select="./asd:myNote"/>

这是我的模板:

<xsl:template name="filename-only">
    <xsl:param name="path" />
    <xsl:choose>
        <xsl:when test="contains($path, '\')">
            <xsl:call-template name="filename-only">
                <xsl:with-param name="path" select="substring-after($path, '\')" />
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$path" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

1 个答案:

答案 0 :(得分:2)

认为(没有看到上下文很难确定)而不是:

<xsl:value-of select="./asd:myNote"/>

你想做的事:

<xsl:call-template name="filename-only">
    <xsl:with-param name="path" select="./asd:myNote"/>
</xsl:call-template>

-

顺便说一下,你没有“xsl:text”。 <xsl:text>元素是您在样式表中用于将文字文本写入输出的元素。