值的选择总是返回字符串吗?

时间:2013-03-22 10:55:28

标签: xslt

我有一个HTML代码替换为

<xsl:value-of select="proj/test/output"/>

e.g。与

<font color='green'>Hello world!</font>

但是当我使用它时,我无法让浏览器将其解释为HTML代码。

通常它应该只写绿色的Hello世界!但相反,它写的完全一样,没有解释任何东西。

有没有办法让浏览器解释这个,但不能写,因为它是一个文本?

问题下面的评论解决了这个问题。我唯一需要添加的是using disable-output-escaping="yes"

所以:

<xsl:value-of disable-output-escaping="yes" select="proj/test/output"/>

作品...

1 个答案:

答案 0 :(得分:2)

如果要复制整个节点,请使用示例copy-of

<copy-of select="proj/test/output"/>

差异:

  • value-of - 仅复制所选节点中的文字。
  • copy-of - 复制所选节点中的所有元素(元素可以是其他标签或文本)。

来自XSLT spec

  

实例化xsl:value-of元素以在结果树中创建文本节点。

     

(...)

     

xsl:copy-of元素可用于将节点集复制到结果树而不将其转换为字符串。