2013-03-22 20 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

相關問題