新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → Transformiix不支持disable-output-escaping的解决方法 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12532 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Transformiix不支持disable-output-escaping的解决方法 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     eagles003 帅哥哟,离线,有人找我吗?金牛座1978-5-8
      
      
      等级:大一新生
      文章:0
      积分:78
      门派:XML.ORG.CN
      注册:2005/5/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给eagles003发送一个短消息 把eagles003加入好友 查看eagles003的个人资料 搜索eagles003在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看eagles003的博客楼主
    发贴心情 Transformiix不支持disable-output-escaping的解决方法

    最近写了一个多浏览器兼容的XSLT程序,主要问题集中在disable-output-escaping的支持上,发表一下看法,大家一起讨论。

    我接触到的内嵌在浏览器中的XSLT Processor主要是两种:MSIE的MSXML;包括Netscape、Mozilla、Firefox等浏览器用的都是Mozilla的Transformiix。
    在[URL=http://www.w3.org/TR/xslt]http://www.w3.org/TR/xslt[/URL]对XSLT的标准中,
    [URL=http://www.w3.org/TR/xslt#output]http://www.w3.org/TR/xslt#output[/URL]提到:“An XSLT processor may output the result tree as a sequence of
    bytes, although it is not required to be able to do so[17
    Conformance]“
    [URL=http://www.w3.org/TR/xslt#disable-output-escaping]http://www.w3.org/TR/xslt#disable-output-escaping[/URL]:“An XSLT processor is not required to support disabling
    output escaping.“
    很不幸,Transformiix不支持disable-output-escaping

    由于在我的XML文件中,需要在浏览器上正常显示CDATA中的HTML代码,这在MSIE中,调用disable-output-escaping当然没有问题,但是既然要多浏览器兼容,就不得不考虑在Transformiix中的情况,其实这完全可以通过javascript解决,国外网站上已经有了一些解决方案,结合我的实际情况,下面给出实例代码:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

      <xsl:output method="html" encoding="GB2312" indent="yes"/>

      <xsl:template match="/">
        <xsl:apply-templates/>
      </xsl:template>

      <xsl:template match="mynode">
        <html>
          <head>
            <title>
            </title>
          </head>
          <body>
            <center id="content">
               <xsl:apply-templates select="text"/>
             </center>
          </body>
       </html>
      </xsl:template>

      <xsl:template match="text">
        <xsl:value-of disable-output-escaping="yes" select="."/>
        <xsl:if test="system-property('xsl:vendor')='Transformiix'">
          <script language="JavaScript">
            var el = document.getElementById("content");
            el.innerHTML = el.firstChild.data;
          </script>
        </xsl:if>
      </xsl:template>
    </xsl:stylesheet>
    是不是很简单,呵呵

    [URL=http://www.forum4designers.com/archive88-2005-4-211776.html]http://www.forum4designers.com/archive88-2005-4-211776.html[/URL]
    [URL=http://use.perl.org/~TorgoX/journal/24272]http://use.perl.org/~TorgoX/journal/24272[/URL]
    [URL=http://www.xml.com/pub/a/2003/08/20/embedded.html]http://www.xml.com/pub/a/2003/08/20/embedded.html[/URL]


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    Ping MM:Request timed out; Ping money:Destination unreachable; Ping Love:Unkown host name; Ping Future:Reply from hell: bytes=32 time=99year TTL=1.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/26 11:12:00
     
     guan1200 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:31
      积分:202
      门派:XML.ORG.CN
      注册:2005/2/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给guan1200发送一个短消息 把guan1200加入好友 查看guan1200的个人资料 搜索guan1200在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看guan1200的博客2
    发贴心情 
    不错方法
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/6/1 14:58:00
     
     chenshijun 帅哥哟,离线,有人找我吗?魔羯座1982-1-9
      
      
      等级:大三暑假(TOFEL考了660分!)
      文章:52
      积分:917
      门派:XML.ORG.CN
      注册:2005/5/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenshijun发送一个短消息 把chenshijun加入好友 查看chenshijun的个人资料 搜索chenshijun在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenshijun的博客3
    发贴心情 
    挺有意思的!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/6/24 19:10:00
     
     观摩 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:56
      门派:XML.ORG.CN
      注册:2006/1/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给观摩发送一个短消息 把观摩加入好友 查看观摩的个人资料 搜索观摩在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看观摩的博客4
    发贴心情 
    呵呵,谢谢楼主

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/13 18:55:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/29 6:30:39

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms