频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

XML 2.0还在发展中吗?踏着WML尸骨前进

作者: Micah Dubinko/李安民编译 出处:51CTO.com 2007-02-11 09:13    砖    好    评论   进入论坛
阅读提示:在2006年的XML会议上,Douglas Crockford先生总结了他的讲话,他提到了非常多的声音在宣布XML在网络方面的死亡。一些人接受了这个说法,另一些人坚持说XML仍然是一个足够强壮的语言,还有一些人则说,“在服务器方面,XML仍然有着不可忽略的地位。如果我们到处说XML已经死了,那么人们就会开始寻找更好的代替XML的东西。”。您同意那个观点呢?

【51CTO.com独家特稿】任何人都不得不承认,XML已经非常成功了。尽管XML还有那么多值得我们烦恼的地方,我们仍然有足够的理由去专注于它的页面,除了网络方面,几乎到处都有用XML编写的应用程序。

在2006年的XML会议上,Douglas Crockford先生总结了他的讲话,他提到了非常多的声音在宣布XML在网络方面的死亡。一些人接受了这个说法,另一些人坚持说XML仍然是一个足够强壮的语言,还有一些人则说,“在服务器方面,XML仍然有着不可忽略的地位。如果我们到处说XML已经死了,那么人们就会开始寻找更好的代替XML的东西。”。这已经不是第一次,XML被声明在网络方面的死亡:可以追溯到2004年的时候,Mark Pilgrim先生就有一个差不多的论述。

然而,这些观点都忽视了一个方面,就是移动网络,各种各样的模块化的XHTML已经悄悄的成长起来了。在执行的效率方面,尽管使用HTML的个人浏览器已经有了长足的进步,但是因为XHTML有着更加严格并且良好的结构,以及清楚的层次的核心概念,所以XHTML在移动网络方面是非常活跃和健康的。在这方面,XHTML继续着稳定的发展,稳步的踏着WML的尸骨前进。

在移动网络方面之外,事情看起来就不同了。如果非要说在普通的网络上,XHTML已经事实上取代了HTML,就未免太过夸张了。为什么呢?一个可能的答案是,对于早期的开发者来说,移动网络方面明显更适合XML;XML内在的主要优点是,它的性价比非常好。除了移动网络,其他方面,大家似乎已经适应了这些缓慢的脚本,但是到最后,绕了一圈还是会返回到那个很明显的更好的方式上,就是使用XML。毕竟,JavaScript有着严格的动态规则,相对较苛刻的因果关系,所以大家很难去迎合它,可所有的这些都没有减缓Ajax和其他相似的客户端的发展。

仔细想想也挺有意思的,相比较网络其他的方面,为什么网络的一个小小的方面--移动网络,使得XHTML可以发展的如此迅速。在这篇文章的最后,我们欢迎读者的意见。第二个问题是,JavaScript的接受度是否意味是这“严格的”处理错误的方式,包括严格的良好的排版,他们的胜利呢?我可不这么认为。有很多写出糟糕页面的方式,但是构造良好的页面会在脚本错误的事件(或者一个相似的但是有着残缺脚本的浏览器案例)中继续运行。一个有着糟糕的JavaScript错误的网络页面仍是一个网络页面,而不是一条错误的信息。事实上,随着时间的流逝,浏览器厂商已经使可见的脚本错误变得越来越少了,厂商把它们都放到了一个隐藏的错误控制台中。

所以脚本就获得了一个引人注意的中间位置,一个是页面要有良好的组织构成--这需要进行严格的处理,否则会出现一个带有程序错误的信息提示。还有更有效的方法是,干脆就简单的标记各种情况,而不是为了相冲突的执行解释,把每件事都完全的公开这一致命的错误。标记和脚本的结合定义了一个处理模型,使它能够持续的面临一些不可避免的错误。这种结合在网络上会工作的更好。

不能说XML在网络上死了,更准确的应该说良好的结构在网络上死了(再说一次,在移动网络方面这绝对是个意外)。

让我们再次回过头来讨论关于SGML简化为2.0。有很多思考XML的方式,但是历史上的倾向是,这是一个派生的--作为最初的SGML的简化。但是在XML被发明之前,一个简单化的,SGML的子集的种子就已经被播种在一个它不可能生长的地方,这就是大家知道的HTML。例如,HTML 2.0主张“HTML文件是有着普通语义的SGML文件,在一个很大的范围内,用HTML表达信息都会很合适。”实际上,没有被普遍使用的浏览器通过SGML 剖析器处理HTML,尽管一些在线的validators组件也这么做,并且也许会这么继续做下去,好像起着稳定乱局的作用。但事实上,在应用中呢!每一个被广泛使用的浏览器都有他们自定义的剖析器,既不是XML,也不是SGML,这些剖析器虽然不那么文雅但却经的起考验。

浏览器厂商正在分别设计和实现这些离奇的剖析技术,并且分别设计和实现XML(我再把重要的时间点重复一下,HTML第一个草稿诞生于1993年,第一个Netscape Navigator浏览器的测试版诞生于1994年,HTML2.0诞生于1995年,第一个XML草图诞生于1996年,XML1.0诞生于1998年,正好是浏览器战争打的正火热的时候。)。结果,从未相遇的一对冤家相遇了。浏览器卖家特别注意所有无组织作者那些愚蠢的、乱七八糟的,达不到预期目标的方法,然后通过魔术般的消息来源,迅速的拷贝对方那些可疑的习惯。如果说XML和他们有什么不同的话,XML反对这些混乱的方式,XML本身有着严格的规定,好像自己和这个现有的网络现实相差很远。

很有趣的是,在Tim Bray先生的眼睛里,XML2.0的种子被播种,浇水,发芽,甚至还在XML1.0出现之前。就像他在以前的专栏里提到的,Tim Berners-Lee先生在他的BLOG里提议关于重新开始书写HTML,这对WHAT WG(一个被浏览器卖家单独邀请的小组和感兴趣的团队)影响深远。还将包括凌乱的动态讨论。有益的是,这是在努力尝试简单化SGML的规则;官方管他叫XML2,非官方把它命名为“HTML5”。

我要再把这个重要的观点重复一遍:XML2,无论怎么样,最终如何命名,它都已经在开发中了,并且开发了一段时间了,而且在以它的方式成为官方的W3C推荐文档。

这种影响程度,在网络范围内就暗示着,已经吸引了一些注意。一部分原因是,动态规范不是单独的文件,而是作为XML的事例,但是可以合并作为广泛说明的一部分。这就引起了下面一些有趣的问题。

HTML在网络上真的就是个特例吗?能有可能有一个单独的、多种用途的语法被用到HTML和其他的地方上吗?或者把HTML用在另一个方面上,给一个语言表达HTML语义的能力,并且在现在的网络上稍微协调下,使它可以在其他的地方,像出版业、内容管理或者信息交换上有用吗?如果答案是能,作为单独的、个别的规范的具体表达,这个网络就能更好的服务于XML2。设想一下如果XML是第一个指定作为XHTML一部分的语言。它能达到更高的高度吗?良好设计技术的特点是,它能够使用的地方连创作者本人都没有想到。如果工作组把XML2限制在一个相对过窄的背景下,那它就不大可能出现上述特点了。幸运的是,人们开始注意到这个问题了。举个例子说,Sam Ruby先生已经在blog上说了他的经验,并递交了语法注释,然后,结果是,W3C工作组排除了一些在XML和XML2之间不相容的元素。

根据TimBL先生的博客,新的W3C工作组将会追求HTML和XHTML的平行的发展。这会造成进一步的紧张状态。有一件事需要强调一下,被新的SGML简单化拒绝的是命名空间的处理,我们之前讨论过的。仅通过这一点很难看出来HTML和XHTML的平行发展会继续走多远。举个例子说,在努力使SVG嵌入到HTML时,将会产生什么争论?为了HTML的使用,整个XML工具包需要被分解吗?以命名空间为中心的技术,像XML Schema或者XQuery会怎么样?看来工作组有不少艰难的决定要做了。

很可能,在我写这篇文章的时候,W3C会员领域正在进行新的HTML的工作。如果你和W3C的成员组织有联系并且关心XML,这将会是最好的时机去让你的观点被大家知道。现在就说或者永远带着你的烦恼或者至少在XML3诞生之前说出你的想法。

备注:

1、Douglas Crockford 先生是State Software公司的创始人及CTO。他曾是Electric Communities的创立CEO,Paramount公司的新媒体主管以及Lucasfilm Ltd公司的技术主管,尤其擅长JAVASCIPT。

2、W3C是万维网联盟(World Wide Web Consortium)英文的缩写,它成立于1994年10月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),来开发网络的全部潜能。万维网联盟(W3C)在成立短短不到十年间,已开发了超过数十个网络基础建设的技术规格,领导着网络技术的向前发展。

原文链接:http://www.xml.com/pub/a/2007/01/10/is-xml-20-under-development.html

(责任编辑 火凤凰 sunsj@51cto.com  QQ:34067741  TEL:(010)68476636-8007)


关于 XML  2.0
专题
专题:ASP.NET 2.0基础开发指南
Web 2.0基础知识大全
XML可扩展标识语言详解
初探敏捷开发
WCF开发基础
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。