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

    >> XML与数字内容安全(DRM,XrML,RDD, MPEG-21, XACML), XML传输的安全, 基于XML的签名,基于XML的加密
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML安全 』 → Firefox 1.5 中的 XML(转) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 13350 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Firefox 1.5 中的 XML(转) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     菜籽 帅哥哟,离线,有人找我吗?双鱼座1981-2-28
      
      
      威望:5
      头衔:软件民工
      等级:研二(Sowa的知识表示写得真好!)
      文章:875
      积分:5655
      门派:XML.ORG.CN
      注册:2004/7/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给菜籽发送一个短消息 把菜籽加入好友 查看菜籽的个人资料 搜索菜籽在『 XML安全 』的所有贴子 点击这里发送电邮给菜籽 引用回复这个贴子 回复这个贴子 查看菜籽的博客楼主
    发贴心情 Firefox 1.5 中的 XML(转)

    http://www-128.ibm.com/developerworks/cn/xml/x-ffox15.html

    开放源码的 Firefox Web 浏览器变得越来越普及。用户喜欢它提供的安全和便捷特性。开发人员喜欢 Firefox 从 Mozilla 继承而来的对标准的遵循。最新的 Firefox 1.5 版本为 XML 开发人员提供了更多特性,包括 XML 解析、XHTML、CSS、XSLT、SVG、XML Events in JavaScript™ 和 XForms。其他第三方扩展提供了更多的 XML 支持。Uche Ogbuji 在本文中简要介绍了 Firefox 1.5 中的 XML 特性。
    Firefox 是一种相对较新的 Web 浏览器,目前是基于 Mozilla 平台的最流行的浏览器。您可能听说过它,因为它的成长速度异常快速,并且它是开放源码软件取得成功的代表。也许您像我一样,已经选择它作为自己的 Web 浏览器。今年年初,IBM 传出了鼓励员工使用 Firefox 的新闻,并在它的企业服务台中标准化 Firefox 支持。IBM 也在整个产品线(包括 Lotus® Domino®)中增强了 Firefox 支持。其他企业受到像这样重量级 IT 企业对其所抱信心的影响,也把它们的内部标准转向 Firefox。

    Firefox 的一个优点是从 Mozilla 继承了很多 XML 特性。对于其中很多特性,Mozilla(以及 Firefox)曾经部分或尝试性地提供过,但是下一个 Firefox 主要版本,即正式的 Version 1.5(开发代号为 Deer Park),在 XML 特性的数量和质量上都跨了一大步。Firefox 1.5 承诺为 XML 开发人员提供完善的 Web 浏览器,帮助推动在 Web 上发展缓慢的客户端 XML 特性的采用。必须要记住,目前很多 Web 技术的发展,包括 Firefox 浏览器特性的发展,都使得 Web 浏览器逐渐发展为完整的专用应用程序开发平台,而不再是简单的 Internet 浏览工具。XML 通常在这些技术发展中起着重要的作用,有些评论家称之为 Web 2.0。

    本系列教程将介绍当前的 Firefox 1.0 和即将出现的 Firefox 1.5 中提供的各种 XML 特性。本文将简要介绍这些特性。关于如何获得 Deer Park 副本以便进行试验和开发,更多信息请参阅 参考资料。

    概述

    从最初的 Web 浏览器 NCSA Mosaic 出现开始,浏览器的角色就是检索组成网页的各种文件,组织起来显示给用户。这些文件最常用的格式一直是 HTML 和各种二进制图像格式。XML 最初的目的是作为 Web 上的 SGML,它的出现带来了各种各样的基于 XML 的新格式,Web 浏览器必须正确地解析和显示这些格式。支持 XML 的浏览器最基本的任务是能够区分不同格式的重要性,而 Firefox Deer Park 在这个方面毫无逊色。

    XML

    Mozilla(以及 Firefox)能够在非验证模式下解析普通 XML(包括名称空间)已经有多年了。默认情况下仅仅是显示 XML,告诉用户:

    此 XML 文件没有任何相关的样式信息。文档树如下所示。
    可以在 XML 中嵌入可移植的 xml:stylesheet 处理指令,告诉 Firefox 加载 CSS 样式表或 XSLT 转换(后面都将讨论),自动向用户显示处理后的结果而不是原始 XML。这种情况下,浏览器的“查看源代码”特性将显示原始 XML。Mozilla 的一个缺点是在把数据传递给呈现引擎之前要完全解析大型的 XML 文档,这意味着文档加载可能很慢。几年来,Mozilla 开发人员一直讨论增加渐进式 XML 加载支持。如果最终得以在 Firefox 1.5 中实现就太好了,但是没有迹象表明会如此。Firefox 不支持 DTD 验证或其他任何验证技术,如 W3C XML Schema (WXS) 或 RELAX NG。对 XLink 的支持很充分(只允许简单链接),允许在 XML 中表示与 HTML 中类似的链接。Firefox 也支持 XML Base,该规范允许设置基准 URI 来解析 XLink 中的相对 URI。使用 W3C XPointer 的 FIXPtr 变体或者 XPointer 旧草案的一个子集,链接可以指向文档片段。

    XHTML

    Mozilla Firefox 1.0 支持 XHTML 1.0 Strict、Transitional 和 Frameset,以及基于 XHTML 1.0 Strict 模块化的 XHTML 1.1。XHTML 2.0 仍然处在工作草案阶段,在 Firefox 1.5 发布之前该规范可能不会完成。一些开发人员可能担心 XHML 2.0 的采用,因为它对 HTML 和 XHTML 1.x 作了大量改动。我建议 Web 开发人员将 Firefox 用于 XHTML 1.1(比如用于嵌入式应用程序)。不幸的是,此建议对于面向一般 Web 的开发人员可能无效。我不想在本系列文章中讨论 XHTML,不过我为 DeveloperWorks 网站撰写了一个完整的 XHTML 1.1 教程(请参阅 参考资料)。

    我的同事 Kurt Cagle 提供了他对 XHTML 支持的看法:

    与 HTML 相比,Gecko 中的 XHTML 布局模型有一些微妙的区别,其中包括应用于文档体的 CSS 仅包括文档边界内的区域,如果要设置整个页面的背景,必须将 CSS 分配给 <HTML> 元素本身。[此外],Firefox XHTML 支持复合文档的子部分,比方说在集成 HTML 和 SVG 内容时很有用。
    级联样式表(CSS)

    级联样式表是在 Web 浏览器中呈现 XML 的最盛行的方式。当然,CSS 也广泛用于设置 HTML 样式,该技术在 Firefox(与多数浏览器一样)中得到了强大的支持。CSS 2.0 是一个完整的 W3C 推荐标准,Firefox 1.0 支持该规范的大部分内容。CSS 2.1 工作草案对 2.0 作了相对较小的修订。CSS 2.0 和 2.1 合起来称为 CSS2。Deer Park 改进了对 CSS2 的支持,并增加了对 CSS3 的更多支持,CSS3 目前仍处在 W3c 工作草案阶段。已经存在对 CSS3 的初步采用,因为它解决了 Web 开发人员迫切需要解决的很多问题,包括对 XML 结构更好的支持。此后的文章中将讨论 CSS,但是也建议您阅读我关于在 XML 中使用 CSS 的系列教程(在 developerWorks 上,请参阅 参考资料)。这些参考资料还通过实际的例子说明了 Firefox CSS2 支持的一些局限,大部分在 Deer Park 中修正了。

    可缩放向量图形(SVG)

    SVG 是提供基于 XML 的图像格式的 W3C 规范。SVG 图像是可移植的,与分辨率无关,而且虽然用 XML 表示却惊人的紧凑(几方面 XML 设计折衷的结果)。支持的特性包括内嵌转换、剪裁路径、alpha 蒙板、光栅过滤效果、模板对象和(理所当然)可扩展性。SVG 还通过 Synchronized Multimedia Integration Language(同步多媒体集成语言,SMIL)模块支持动画、缩放和转换视角、各种图形基本处理、分组、脚本、超链接、结构化元数据,并且很容易嵌入其他 XML 文档。SVG 可在其他 XML 和 Web 相关技术如 CSS 和文档对象模型(DOM)中使用。Mozilla 在很长时间内具有可选的、粗略的 SVG 支持,但是没有人努力使其完善和作为默认的内置特性。Firefox Deer Park 现在提供了开箱即用的本机 SVG 支持,特别是 SVG 1.1 Full 的一个子集。当前的 Deer Park 快照中忽略了一些特性,包括声明性的 SMIL 动画、过滤器、文本路径、蒙板、范式和 CVG 定义的字体,到真正发布 1.5 时可能会提供。Deer Park 透明地显示作为 SVG 提供给 MIME 类型 image/svg+xml 的资源,而不需要专门的插件;包括内嵌在 object 元素中的 SVG 图像。

    MathML

    MathML 是表示数学信息的 W3C XML 词汇表。它允许用主要与抽象数学含义有关的形式(内容标记)或主要与显示有关的形式(表示标记)来表达数学公式。该规范目前是 2.0 版,Firefox 支持这个版本,可独立使用,也可嵌入到 XHTML 中。但是要注意,用户可能需要在系统中增加某些字体才能查看 MathML 文档。

    画布

    画布(canvas)是一个元素,作为可脚本编程的、绘制位图的表面,它的用途无处不在:游戏、花哨的商业表示图像、特殊的表单控件、模拟、复杂的数据可视化,等等不一而足。首先在元素本身中定义画布的固定大小,然后利用使用 canvas API 在画布上创建可视化对象的脚本来实际绘画。canvas 最初是由 Apple 为其 Safari 浏览器开发的,作为复杂图形设施如 SVG 支持的基础。Mozilla 接受了这种思想,canvas 现在已成浏览器供应商 WhatWG 联盟的一种规范。Mozilla 的 canvas 目前仅支持二维图形,但是如果 Mozilla 平台得到 OpenGL 设施的支持也可绘制 3D。


    回页首

    处理文档模型

    Web 浏览器很久以前就提供动态特性了,所以开发人员可以不只是提供简单的静态页面。随着朝复杂 Web 应用程序的发展,这些特性越来越复杂,很多是以某种方式建立在 XML 的基础上的。JavaScript(或者其内部标准形式 ECMAScript)是一种强大的动态语言,构成了 Web 浏览器中多数动态特性的基础。

    ECMAScript for XML (E4X)

    E4X 是一个草案标准,为 ECMAScript 语言增加了原生 XML 数据类型,为常见的 XML 操作提供了运算符。E4X 规范主页中指出:

    E4X 为 ECMAScript 语言增加了基本的 XML 数据类型,扩展了人们所熟悉的 ECMAScript 运算符的语义来操纵 XML 对象,为常用 XML 操作增加了少量的新运算符,如搜索和筛选。还增加了对 XML 文字、名称空间、限定名和其他机制的支持以促进 XML 处理。
    E4X 最主要的应用可能是把 XML 解析成易于操纵的 ECMAScript 对象。这确实造成了一些难以解决的问题,因为直接使用 XML 语法意味着嵌入到其他基于标记的格式中时可能引起一些混乱。事实上,在最新的 Deer Park alpha 版中,对 HTML 网页默认禁用了 E4X,因为与从非兼容浏览器中隐藏脚本的传统方式有冲突。但是,网页作者可以在任何 script 元素中通过使用形如 type="text/javascript; e4x=1" 的属性来启用该功能。

    XSLT

    Mozilla 支持 XSLT 将近五年了,最近几年这种支持已经相当可靠了,包括从 ECMAScript 中调用 XSLT 转换的能力。Deer Park 对于 XSLT 在 Mozilla 中的处理没有作很大修改。如果能够支持 EXSLT 就更好了,但是还没有提上日程,虽然曾经是讨论的主题和一种将来的可能性。

    XForms

    XForms 是 XML 数据处理的 Web 表单规范,可通过不同媒介用于各种平台。XForms 的目标是把表单的用途和表示,即表单的功能和外观分离开来。可用于开发处理 XML 内容的表单 UI 的一种 XML 词汇表。XForms 作为 XHTML 2.0 的表单模块,但它是独立的 W3C 推荐标准。它比大家熟悉的 HTML 表单元素更复杂,但是可用于生成更复杂和可移植的表单。由于它的复杂性,XForms 在 Mozilla 中的支持遇到了一些阻力,但是到 2004 年 8 月,IBM 和 Novell 提供了资源,Mozilla Foundation 启动了在 Mozilla 中实现 XForms 的一个项目。此项目的成果作为一组扩展出现在 Deer Park 中。Deer Park 还增加了与 XForms 有关的 XML Events 的支持,这个 W3C 规范监听与 XML 对象操纵有关的事件并处理这些事件。比如,用户改变基于 XForms 的文本输入字段中的文本时就会引发一个 XML 事件。

    eXtensible Tag Framework (XTF)

    XTF 是 Mozilla 专有的技术,允许扩展的作者使用 ECMAScript 或 C++ 编写的代码(从技术上说,可使用 Mozilla 组件系统 XPCOM 支持的任何语言),在 Mozilla 中创建新的 XML 名称空间。事实上,Mozilla XForms Project 就是使用了 XTF 在 XForms 名称空间中添加对元素的支持。XTF 被认为是一种强大的机制,可以为 Mozilla 增加各种 XML 技术而不必等到核心对这些技术的支持。

    Web 服务

    Mozilla 允许从 ECMAScript 中访问 XML Web 服务。存在用于 SOAP 1.1、WSDL 1.1 和 XML-RPC 的组件。这样,就可以增加处理来自远程服务提供者的消息的功能。


    回页首

    Firefox:完整的基于 XML 的浏览器参考基准

    对于有些人来说,Mozilla XML 处理能力中皇冠上的珠宝是 XML User Interface Language(XML 用户接口语言,XUL),即一种用于描述跨平台用户接口的标记语言。XUL 是为 Mozilla 平台设计的,但目标更为广泛。最好的办法是将 XUL 看作 Web 浏览器中出现的各种零碎东西:主呈现区域、菜单、图标和按钮、URL 栏、标题栏、状态栏、工具条、对话框,等等。XUL 允许您创建、安排和激活所有这些成分。事实上,整个 Mozilla Web 浏览器就是作为一个 XUL 应用程序编写的(但 Firefox 并非如此)。用 XML 指定了一个 XUL 应用程序,定义了每种组件。Deer Park 对 XUL 作了一些重要的改进,包括动态覆盖和透明背景,增强了在结合及表示 XUL 组件方面的灵活性。XUL 和另一种基于 XML 的声明性语言 Extensible Binding Language(可扩展绑定语言,XBL)密切结合,允许指定用 XUL 表示的组件的特殊行为。Mozilla 还使用资源描述框架(RDF)管理 XUL 中使用的半结构化数据。RDF 是一个具有 Web XML 序列化的元数据系统,即用于描述 Web 资源形式化陈述集合的模型。


    回页首

    结束语

    可以看到 Firefox 对 XML 的支持是广泛而深入的。本文概要介绍了这些特性。后面的文章将更详细地描述这一领域,并提供 Firefox 1.0 或 Deer Park 的代码片段。对于 XML 开发人员来说这是激动人心的一刻,因为 XML 正推动下一代 Web 技术的发展,Firefox 用户将泰然自若地利用这些进展。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    重拾英语...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/17 9:46:00
     
     GoogleAdSense双鱼座1981-2-28
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML安全 』的所有贴子 点击这里发送电邮给Google AdSense 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/27 15:00:16

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

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