使用XSL来转换此模板中的转义字符

时间:2012-05-24 21:47:30

标签: xslt

我有一个包含转义HTML的XML节点。样式表的输出方法是HTML。

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

我想转“&amp; lt;”和“&amp; gt;”回到“&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 :(得分:1)

XSL中没有<xsl:replace>元素,fn:replace() XPath函数仅在XPath 2.0中可用。可以编写一个XSL模板来为您执行字符串替换,但在这种情况下,它不是正确的解决方案。

有效的XML文档不能包含文字<>&个字符,如果您要转换为另一个XML文档,那么XSLT将不允许您将它们放入。

如果您正在使用<xsl:output method="text" />转换为文本输出,那么将自动为您翻译实体,而无需您明确地执行此操作。

无论哪种方式,XSLT都会做正确的事情而无需进行任何更改。