加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

XML诞生的历史背景

(2011-09-07 13:38:53)
标签:

杂谈

1SGML介绍

说到XML我们一定要了解SGML (Standard Generalized Markup Language)SGML最初是由IBM开发的一种用于排版的符号化语言称为GML,经过若干年的发展,1984年国际标准化协会(ISO)开始对此提案进行讨论,于1986ISO正式承认SGML为国际标准规范(ISO8879)。一个标准的建立大致有两种情况,一种是事实上的标准,原本就很普及,已经成为事实上的标准的情况,UNIX就属于这种情况。还有一种是规范主导型标准,原本不存在,但由于社会需求,必须要制定一种大家都应该遵守的规范,公布给社会,这种规范理想程度很高,但是普及起来却非常的难。SGML可以视为后一种规范。

SGML实际上是一种通用的文档结构描述符号化语言,主要用来定义文献模型的逻辑和物理类结构。一个SGML语言文件由三部分组成,即语法定义、文件类型定义DTDDefinition Type Document)和文件实例。语法定义部分定义了文件类型定义和文件实例的语法结构;文件类型定义部分定义了文件实例的结构和组成结构的元素类型。文件实例是SGML语言程序的主体部分(图1 SGML文件结构)。

                                                         http://s5/middle/88f614cdtac536db7d314&690

1 SGML文件结构

 

SGML的实际使用中,每一个特定的DTD都定义了一类文件。例如,所有的新闻稿件都可以使用同一个DTD。因此,人们习惯上把具有某一特定DTDSGML语言,称为某某符号化语言,例如用于互联网的HTML语言就是一种特定DTD情况下的SGML。这样SGML就成为那些派生语言的元语言。 

SGML是很多大型组织,比如飞机、汽车公司和军队的文档标准,它是结构化的、可扩展的语言,这些特点使它在很多应用领域受到欢迎,被用来创建、处理和发布大量的文本信息。

尽管SGML是一个超乎人们想象的优秀的标准,而且美国国防部率先在CALS(Commerce At Light Speed)系统中应用了SGMLSGML的普及起了很大的推进作用,SGML成为ISO的推荐标准后,众多的厂商一直在积极的进行推广工作,但是由于它的庞大和繁杂,应用起来非常的困难,无法普及到大众的应用中来。

 

2HTML的出现

1989年,欧洲物理量子实验室(CERN)的信息专家蒂姆·伯纳斯·李发明了超文本链接语言, 使用此语言能轻松地将一个文件中的文字或图形连到其他的文件中去。只要用鼠标在第一个文件中点取其中一段或一个图标,就可以为用户取来网络中或其他位置的相关文件,并显示在屏幕上。蒂姆·伯纳斯·李选择了CERN使用的一组SGMLDTD标记标签,在最早的WEB浏览器和编辑器NEXUS中,他使用了这些标签和样式表进行排版,并增加了最重要的功能--链接,这就是HTML的前身。1991年,蒂姆·伯纳斯·李在CERN定义了HTML语言的第一个规范,之后成为W3C组织为专门在互联网上发布信息而设计的符号化语言规范 所以可以说,HTMLHypertext Markup Language)是SGML的一个实例,它的DTD作为标准被固定下来,因此,HTML不能作为定义其它符号化语言的元语言。

作为World Wide Web的一个组成部分HTML语言发展很快,在短短的几年里,它已历经了HTML1.0HTML2.0HTML3.0HTML4.0等多个版本,同时DHTML (动态)VHTML(虚拟)SHTML等也飞速发展起来。从HTML的发展来看,可以说是信息技术应用的一个奇迹,虽说它只是SGML的一个很小的应用,但由于其具有简单特性加上指定了统一标准,使得Web技术从IT界走向了社会并走向了千家万户,到现在为止我们看到的绝大多数的网页都是用HTML编写的。HTML以其简单精练的语法、极易掌握的通用性与易学性,使WEB网页可以亲近于每一个普通人,互联网才得以普及发展以至今日辉煌。

但是,目前的HTML还不稳定,不同的浏览器会产生不同的显示效果。此外,由于HTML对超级链接支持不足,以及缺乏空间立体描述,处理图形、图像、音频、视频等多媒体能力较弱,图文混排功能简单,不能表示多种媒体的同步关系等缺点也影响HTML的大规模应用以及用于复杂的多媒体数据处理。为了增加HTML的功能人们已经对它进行了各式各样的修改扩充,如增加了表格、框架、脚本语言CSS(Cascading Style Sheets,层叠样式表)和动态HTML(DHTML)等等,它们各自从不同的侧面也解决了一些HTML的不足。但是HTML的断开链接和格式问题等一些老问题仍然存在。

然而,电子商务、电子出版、远程教育等基于Web的新兴领域的全面兴起使得传统的Web资源更加复杂化、多样化,人们对Web服务功能的需求也达到更高的标准。比如: 用户需要对Web进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化服务; 公司和企业要为客户创建和分发大量有价值的文档信息,以降低生产成本,以及对不同平台、不同格式的数据源进行数据集成和数据转化等等,这些需求越来越广泛和迫切。

归纳起来HTML的不足体现在如下几方面

1HTML只是一种表示技术,标记和数据是结合在一起的,不能进行分割,而且数据没有层次结构。所以无法单独描述数据内容,而这一点恰恰是数据检索、电子商务所必须的。

2HTML对数据表现的描述能力十分薄弱,如HTML不能描述矢量图形、科学符号等对象。目前只能通过图象来表现这些信息。

3HTML实例符号化语言的地位、标记集合和结构是固定的,不能适应对新标记需求和结构转换的需求。

 

3XML的诞生

可以看出,由于HTML的局限型,限制了网络向新的高度发展,SGML虽是一种通用的文档结构描述符号化语言,为语法和标记提供了非常强大的工具,同时具有极好的扩展性,在数据分类和索引中也非常有用,但SGML复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGMLWeb上的推广受到阻碍。在这种情况下,开发一种兼具SGML的强大功能、可扩展性以及HTML的简单性的语言势在必行。由此诞生了XML语言。

XMLeXtensible Markup Language,可扩展符号化语言)是由W3C19982月发布的一种标准。它同样是SGML的一个简化子集,它将SGML的丰富功能与HTML的易用性结合到Web的应用中,以一种开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是友好的、可操作的。之后W3C又用XML设计出一个与HTML4.01功能等价的语言,称为XHTML1.0Extensible HyperText Markup Language)使之与HTML相兼容。

XMLSGML的一个子集,严格地讲XML也还是SGML。与HTML不同的是XMLDTD,因而也可以象SGML那样作为元语言来定义其它文件系统,或称其它符号化语言。如果把符号化语言分为元符号化语言和实例符号化语言的话,SGMLXML都是元符号化语言,而HTML和由XML派生的XHTML都是实例符号化语言。 

XMLHTML不同,它可以精确地表现信息的各种含义,而且可以对信息进行多点操作。例如,同样的一个关于天气信息的XML数据,可以实现让一个人看到天气的图形信息,而另外一个盲人用户听到天气的情况,这种智能化的应用只有XML语言的才能完成。

所以可以说,XML的出现,使HTML存在的问题都得到很好的解决。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有