使用XSLT消除HTML实体

使用XSLT消除HTML实体,xslt,escaping,entity,Xslt,Escaping,Entity,我的XSL模板中有外部脚本结果,包含转义的html特殊字符。如何使用XSLT对其进行解压缩并将其输出到最终文档 我已经转义了结果,禁用输出转义=“是”帮不了我 例如(来自外部脚本的结果): 此转换: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:strip-space element

我的XSL模板中有外部脚本结果,包含转义的html特殊字符。如何使用XSLT对其进行解压缩并将其输出到最终文档

我已经转义了结果,
禁用输出转义=“是”
帮不了我

例如(来自外部脚本的结果):


此转换

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="script">
  &lt;script>
    <xsl:value-of select="normalize-space()"/>
  &lt;/script>
 </xsl:template>
</xsl:stylesheet>
  <script>
    <!--376473658726587--> <a href="/">some text</a>
  </script>

脚本>
/脚本>
应用于此XML文档时(您未能提供!!!):


!--376473658726587--
a href=“/”一些文本/a
生成所需的正确结果

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="script">
  &lt;script>
    <xsl:value-of select="normalize-space()"/>
  &lt;/script>
 </xsl:template>
</xsl:stylesheet>
  <script>
    <!--376473658726587--> <a href="/">some text</a>
  </script>


请展示您所拥有的,我可能可以帮助您。@VeroLom:因此,您需要两步XSLT处理,或者您需要编写一个扩展函数,从XSLT代码中调用该函数,这样做是不可回避的。在XPath 3.0/XSLT 3.0之前,没有标准的不可回避函数,但它们仍然只是工作草案。