2012-05-24 51 views
0

我有一個包含轉義HTML的XML節點。樣式表的輸出方法是HTML。使用XSL在本模板中使用轉義字符

<ORDCNFMNT>Line 1 of text &lt;BR /&gt; Line 2 of text</ORDCNFMNT> 

我想打開「& lt;」和「& gt」;回到「<」和「>」產生

<ORDCNFMNT>Line 1 of text <BR /> Line 2 of text</ORDCNFMNT> 

眼下用來處理這個節點只需要節點的值模板:

<xsl:template name="ordCnfmNtTmplt"> 
    <xsl:value-of select="ORDCNFMNT"/> 
</xsl:template> 

我應該怎麼辦呢?

+1

請顯示一些示例輸入和所需輸出 –

+0

沒有 XSLT元素。您可能正在考慮fn:replace()XPATH函數。什麼版本的XSLT? 1.0或2.0? –

+0

同意吉姆。請提供樣本輸入和輸出XML。 –

回答

1

XSL中沒有<xsl:replace>元素,fn:replace() XPath函數僅在XPath 2.0中可用。可以編寫一個將爲您執行字符串替換的XSL模板,但在這種情況下,它不是正確的解決方案。

有效的XML文檔不能包含文字<>&字符,如果您要變換到另一個XML文檔,然後XSLT不會讓你放他們進來。

如果您要變換成文本輸出使用<xsl:output method="text" />,那麼實體將自動爲您翻譯,而無需您明確地執行。

無論哪種方式,XSLT都會做正確的事情,而無需做任何更改。

相關問題