XSL:让原始HTML通过

时间:2010-01-29 14:25:02

标签: html xslt

我正在进行XSL转换。我正在转换的XML有一个包含html的节点。

<xml>
    <text>
        <p><b>Hello</b><em>There</em></p>
    </text>
</xml>

应用转换:

<xsl:template match="text">
    <div class="{name()} input">
        <xsl:value-of select="."/>
    </div>
</xsl:template>

我得到了输出:

<div class="text input">
    Hello There
</div>

但是我希望Html保持原样:

<div class="text input">
    <p><b>Hello</b><em>There</em></p>
</div>

node()函数替换会得到相同的结果。

是否有一种方法可以通过转换来修改HTML?

1 个答案:

答案 0 :(得分:11)

查看xsl:copy-of

它应该做你需要的......

<xsl:copy-of select="." />

以上将选择整个当前节点,因此在您的情况下将包含<text>本身..

使用以下内容选择当前的所有内容..

<xsl:copy-of select="child::node()" />