Xml大事记之XML先驱

时间:2008-12-10 10:31:00 来源: CSDN 点击:
  • XML有两个先驱----SGML和HTML,这两个语言都是非常成功的置标语言,但是他们都在某些方面存在着与生俱来的缺陷。让我们首先从SGML说起。还有最关键的一点,几个主要的浏览器厂商都明确拒绝支持SGML,这无疑是SGML在

XML有两个先驱——SGML和HTML,这两个语言都是非常成功的置标语言,但是他们都在某些方面存在着与生俱来的缺陷。XML正是为了解决它们的不足而诞生的。

让我们首先从SGML说起。SGML的全称是标准通用化置标语言,它从80年代初开始使用。正如XML一样,SGML也可用于创建成千上万的置标语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。但是,SGML非常之复杂,其复杂程度对于网络上的日常应用简直不可思议。不仅如此,SGML非常昂贵。还有最关键的一点,几个主要的浏览器厂商都明确拒绝支持SGML,这无疑是SGML在网上传播遇到的最大障碍。

相反,HTML免费、简单,而且它获得了广泛的支持。HTML最初于1990年由CERN设计,它是一个非常简单的SGML语言,可以方便普通人的使用。而正如设计之初所构想的那样,HTML现在在世界范围内得到了广泛的应用。不幸的是,HTML有许多致命的弱点,不能解决所有解释数据的问题,像是影音文件或化学公式、音乐符号等其它型态的内容、效能问题,需要下载整份文件,才能开始对文件做搜寻的动作、扩充性、弹性、易读性均不佳。正因为如此,1996年人们开始致力于描述一个置标语言,它既具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。国际互联网论坛W3C (World Wide Web Consortium)决定专门成立一个SGML专家小组来从事此项工作,大名鼎鼎的Sun公司的Jon Bosak担任小组的指挥。事实上,Bosak和他领导的专家小组对SGML所做的贡献就像JAVA研究组对C++做出的贡献一样。SGML中所有非核心的、未被使用的和含义模糊的部分都被删除,剩下的就成为短小精干的置标工具——XML。对于XML的描述(由Tim Bray和C.M. Sperberg-McQueen撰写)只有26页,而当初的SGML的描述却长达500页之多。而更妙不可言的是,尽管篇幅只是SGML的1/20,但 SGML中所有的精华都被保留了下来。

这以后,XML不断发展演化,并且从CML和MathML中汲取了大量的经验。1997年春天,可扩展链接语言XLL草案已被拟定,到了1997年夏天,微软也开始了关于通道描述格式CDF(Channel Definition Format)的定义工作,这应该算是XML的第一个真正的应用。

最后,XML于1998年修成正果。W3C于1998年2月批准了XML的1.0版本,一个崭新而大有前途的语言诞生了。

后注:

XML是从1996年开始有其雏形,并向 W3C(全球信息网联盟)提案,而在1998二月发布为W3C的标准(XML1.0)。 XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的 GML(Generalized Markup Language)标准化后的名称。文件中能够明确的将标示与内容区隔;所有文件的标签使用方法均一致。1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为 ISO 所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。

于是,人们对SGML进行了简化衍生出 HTML。HTML 简单,在初期没有任何定义文档外观的相关方法,仅用来在浏览器里显示网页文件。而后,随着因特网的发展,人们为了控制其文件样式,扩充了描述如何显现数据的卷标。在 Netscape 与 Microsoft 之间的浏览器大战后, HTML 标准权威性遭受重大的考验,所幸,到了HTML 4.0时,W3C 又恢复了其地位。

同时W3C意识到HTML的原罪:

不能解决所有解释数据的问题 - 像是影音文件或化学公式、音乐符号等其它型态的内容。

效能问题 - 需要下载整份文件,才能开始对文件做搜寻的动作。

扩充性、弹性、易读性均不佳。

为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:XML。 XML是在一个这样的背景下诞生的─是不是能有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息?

而XML目的即在于提供一个对信息能够做精准描述的机制,借以弥补 HTML 太过于表现导向的特质。

W3C XML 规范和时间线

规范 草案/提议 推荐
XML 1.0   1998年2月10日
XML1.0 (2.Ed)   2000年10月6日
XML 1.0 (3.Ed)   2004年2月4日
XML 1.1   2004月2月4日
XML 1.1 (2.Ed)   2006年8月16日
XML 1.0 Namespaces   1999年1月14日
XML 1.0 Namespaces SE   2004年3月4日
XML 1.1 Namespaces   2004年3月4日
XML 1.1 Namespaces SE   2006年8月16日
XML Infoset   2001年10月24日
XML Infoset (2.Ed)   2004年2月4日
XML Base   2001年6月27日
XLink 1.0   2001年6月27日
XPointer Framework   2003年3月25日
XPointer element() scheme   2003年3月25日
XPointer xmlns() scheme   2003年3月25日
XInclude 1.0   2004年12月20日
XInclude 1.0 SE   2006年11月15日
XML Processing Model   2004年4月5日