我有一个包含转义HTML的XML节点。样式表的输出方法是HTML。
<ORDCNFMNT>Line 1 of text <BR /> 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>
我该怎么办?
答案 0 :(得分:1)
XSL中没有<xsl:replace>
元素,fn:replace()
XPath函数仅在XPath 2.0中可用。可以编写一个XSL模板来为您执行字符串替换,但在这种情况下,它不是正确的解决方案。
有效的XML文档不能包含文字<
,>
或&
个字符,如果您要转换为另一个XML文档,那么XSLT将不允许您将它们放入。
如果您正在使用<xsl:output method="text" />
转换为文本输出,那么将自动为您翻译实体,而无需您明确地执行此操作。
无论哪种方式,XSLT都会做正确的事情而无需进行任何更改。