2013-03-22 33 views
-1

我不得不通过请问select-always总是返回字符串吗?

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

例如更换一个HTML代码与

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

但是,当我使用这个,我不能成功地让浏览器解释为一个HTML代码。

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

有没有什么办法让浏览器解释它,但它不是因为它是文本?

该问题下面的评论解决了问题。只有我需要添加的事情是using disable-output-escaping="yes"

所以:

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

作品...

+0

你的意思是HTML元素是有_As了'output'元素中XML_或者是HTML转义为文本(即' <字体...'或'<![CDATA [' )?如果前者使用'',那么你必须查看你的处理器是否支持'disable-output-escaping' – 2013-03-22 11:00:49

+0

@IanRoberts我想要的是看到绿色的文字,而不是任何代码。所以可能是后者,但我不知道如何修改这个设置。我可能试图找到它,但似乎很难。 – www 2013-03-22 12:19:23

+0

@IanRoberts好极了!有效!! – www 2013-03-22 12:28:01

回答

2

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

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

区别:

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

XSLT spec

在xsl:value-of的元件被实例化,以在结果树文本节点。

(...)

在xsl:元件的拷贝可以被用来复制节点集到结果树而不将其转换成字符串。

+0

不幸的是,这给了以下结果,这是我不想要的。 ' < font color ='green'> Hello world! < /字体>' – www 2013-03-22 12:20:52

+0

你有什么输出是exaclty期望? – kamituel 2013-03-22 14:18:27

+0

只有禁用剥离html标签的绿色文本。伊恩的答案在我的答案下面作为评论解决了我的问题 – www 2013-03-22 15:44:03

相关问题