`
juggler
  • 浏览: 169235 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

Transformiix不支持disable-output-escaping的解决方法[转]

阅读更多
xml 代码
  1. Transformiix不支持disable-output-escaping的解决方法   
  2.   
  3. 最近写了一个多浏览器兼容的XSLT程序,主要问题集中在disable-output-escaping的支持上,发表一下看法,大家一起讨论。   
  4.   
  5. 我接触到的内嵌在浏览器中的XSLT Processor主要是两种:MSIE的MSXML;包括Netscape、Mozilla、Firefox等浏览器用的都是Mozilla的Transformiix。   
  6. 在http://www.w3.org/TR/xslt对XSLT的标准中,   
  7. http://www.w3.org/TR/xslt#output提到:“An XSLT processor may output the result tree as a sequence of   
  8. bytes, although it is not required to be able to do so[17   
  9. Conformance]“   
  10. http://www.w3.org/TR/xslt#disable-output-escaping:“An XSLT processor is not required to support disabling   
  11. output escaping.“   
  12. 很不幸,Transformiix不支持disable-output-escaping   
  13.   
  14. 由于在我的XML文件中,需要在浏览器上正常显示CDATA中的HTML代码,这在MSIE中,调用disable-output-escaping当然没有问题,但是既然要多浏览器兼容,就不得不考虑在Transformiix中的情况,其实这完全可以通过javascript解决,国外网站上已经有了一些解决方案,结合我的实际情况,下面给出实例代码:   
  15. <?xml version="1.0"?>  
  16. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
  17.   
  18.   <xsl:output method="html" encoding="GB2312" indent="yes"/>  
  19.   
  20.   <xsl:template match="/">  
  21.     <xsl:apply-templates/>  
  22.   </xsl:template>  
  23.   
  24.   <xsl:template match="mynode">  
  25.     <html>  
  26.       <head>  
  27.         <title>  
  28.         </title>  
  29.       </head>  
  30.       <body>  
  31.         <center id="content">  
  32.            <xsl:apply-templates select="text"/>  
  33.          </center>  
  34.       </body>  
  35.    </html>  
  36.   </xsl:template>  
  37.   
  38.   <xsl:template match="text">  
  39.     <xsl:value-of disable-output-escaping="yes" select="."/>  
  40.     <xsl:if test="system-property('xsl:vendor')='Transformiix'">  
  41.       <script language="JavaScript">  
  42.         var el = document.getElementById("content");   
  43.         elel.innerHTML = el.firstChild.data;   
  44.       </script>  
  45.     </xsl:if>  
  46.   </xsl:template>  
  47. </xsl:stylesheet>  
  48. 是不是很简单,呵呵   
  49.   
分享到:
评论

相关推荐

    (免费)提供 adb -disable-verity 支持

    此adb工具包中包含了adb disable-verity命令,这里免费提供给大家使用,具体可看本人的文章 ”/system/bin/sh: disable-verity: not found 的解决方案“ 【使用方式】 platform-tools解压后即可使用。在cmd中通过cd...

    无 adb disable-verity 命令的adb应用程序

    具体可看本人的文章 ”/system/bin/sh: disable-verity: not found 的解决方案“ 【使用方式】 此文件直接放到platform-tools文件夹中替换原有的adb.exe即可生效。platform-tools路径默认在:C:\Users\你的电脑...

    adb,支持adb disable-verity命令,解锁system分区

    `adb disable-verity` 是一个特定的adb命令,它涉及到Android系统的安全特性——verity模式。 verity模式是Android为了增强设备的安全性而引入的一种机制。它通过校验系统分区的哈希值来确保系统文件未被篡改,从而...

    adb-disable-verity

    "adb-disable-verity"是一个与Android设备管理相关的主题,它涉及到ADB(Android Debug Bridge)工具的使用,特别是针对系统验证功能“verity”的禁用过程。在Android系统中,verity是一种安全特性,用于确保系统...

    交换机出现err-disable的原因及解决方法

    交换机出现err-disable的原因及解决方法 在计算机网络中,交换机是连接各个设备的核心组件。但是,有时候交换机的接口会出现err-disable状态,这会导致网络瘫痪。那么,交换机出现err-disable的原因是什么呢?如何...

    google字体插件-disable-google-fonts

    WordPress的插件:google字体插件-disable-google-fonts 解压后,请将目录名称:wordpress1,修改为:disable-google-fonts

    disable-google-mapsV2.0.zip

    为此,"disable-google-mapsV2.0.zip"这个压缩包提供了一个专门的解决方案——WordPress谷歌地图禁用插件,旨在优化网站性能,提升访问速度。 该插件名为"disable-google-maps",其主要功能是禁用WordPress中的谷歌...

    adb带disable-verity.zip

    这个“adb带disable-verity.zip”压缩包文件显然是针对Android系统的,特别是对于那些想要禁用verity功能的用户。verity是Android的一种安全特性,用于确保系统文件在启动时没有被篡改,增强了系统的安全性。 首先...

    disable-devtool:通过f12按钮,右键单击和浏览器菜单禁用Web开发人员工具

    import disableDevtool from 'disable-devtool' ; disableDevtool ( ) ; 1.2脚本属性配置 &lt; script disable-devtool-auto src =' https://cdn.jsdelivr.net/npm/disable-devtool/disable-devtool.min.js ' &gt; ...

    ember-disable-prototype-extensions-源码.rar

    深入研究"ember-disable-prototype-extensions-源码.zip"的内容,我们可以学习到Ember框架如何处理配置选项,以及如何在不破坏原有功能的同时,优化代码以适应不同的开发需求和环境。这对于理解和优化Ember应用的...

    php-disable-eval.zip

    解决php7以上禁用eval函数

    【使用正常】disable-wordpress-updates.zip

    "disable-wordpress-updates.zip"提供的插件是一种有效管理WordPress更新的方法,它可以帮助用户消除不必要的更新提示,提高网站性能,特别是对于那些不希望频繁接收更新通知或需要控制更新时间的网站管理员来说,这...

    adb-可解锁system-busybox必需可disable-verity

    `disable-verity`是其中一个关键功能,用于禁用设备上的数据完整性检查机制——Verity。`busybox`则是一个集合了众多Linux实用程序的小型软件,对于Android设备的系统管理和调试非常有用。现在,我们来深入探讨这两...

    Disable-Content-Security-Policy_v1.0.6.zip

    在了解了Disable-Content-Security-Policy插件的工作原理和使用方法后,我们可以深入探讨一下CSP的一些关键概念和配置选项: - `default-src`:定义默认允许加载资源的源,是最基础的指令。 - `script-src`:控制...

    uartlog-sgmii-disable-rgmii-pingerr.dat

    uartlog-sgmii-disable-rgmii-pingerr.dat

    (免费下载)adb应用程序,包含特殊的 adb disable-verity 命令

    此adb工具包中包含了adb disable-verity命令,这里免费提供给大家使用,具体可看本人的文章 ”/system/bin/sh: disable-verity: not found 的解决方案“ 【使用方式】 platform-tools解压后即可使用。在cmd中通过cd...

    disable-react-devtools:一种禁用React Developer Tools插件来访问您的应用程序的简单方法

    如何安装npm i @fvilers/disable-react-devtools或者yarn add @fvilers/disable-react-devtools如何使用在React被加载之前,在您的主文件中调用disableReactDevTools()方法。 import React from 'react';import ...

    disable-scroll:将屏幕固定到当前位置,并在其上方绘制画布

    @ klarna / disable-scroll 在可滚动实体顶部固定层的演示。 您可以在找到它将主体锚定到其当前滚动位置。 能够在顶部固定一层并将模态放置在其中非常有用。 这可以解决带有position: fixed的定位模态的已知问题。 ...

Global site tag (gtag.js) - Google Analytics