位置:海鸟网 > IT > XML >

认识XML基础知识

  随着互联网的迅猛发展和普及,人们可以通过计算机与互联网联接,从世界各地实时的接收和发送大量、最新的信息,但在信息交换的过程中存在着一个突出的问题,就是多种多样的数据格式,给信息的有效使用带来了障碍。所以在信息时代,如何以最便捷、最可靠、最有效的方式获取所需的信息是一个很大的困扰。人们期待着能够找到一种可以描述任何逻辑关系的数据格式来统一电子数据的存储,从而不再因为数据格式的不统一而苦恼和困惑。目前,能够担当此任的就是xml(extensible markup language,可扩展符号化语言)。

  可以说,xml的出现给数据交换带来了一场革命;xml的出现是至今为止最聪明的一种符号化语言;xml成为下一代网络发展的基石。

xml诞生的背景

sgml介绍


  说到xml,我们一定要先了解一下sgml (standard generalized markup language) 。sgml最初是由ibm开发的一种用于排版的符号化语言,称为gml。经过若干年的发展,1984年国际标准化协会(iso)开始对此提案进行讨论,于1986年正式承认sgml为国际标准规范(iso8879)。

XML:下一代网络的基石



  图:xml作为电子数据交换的统一格式



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

  在sgml的实际使用中,每一个特定的dtd都定义了一类文件。因此,人们习惯上把具有某一特定dtd的sgml语言,称为某某符号化语言。这样sgml就成为那些派生语言的元语言。

html的出现

  1989年,欧洲物理量子实验室(cern)的信息专家蒂姆·伯纳斯·李发明了超文本链接语言, 使用此语言能轻松地将一个文件中的文字或图形连到其它的文件中去,这就是html的前身。1991年,蒂姆·伯纳斯·李在cern定义了html语言的第一个规范,之后成为w3c组织为专门在互联网上发布信息而设计的符号化语言规范。可以说,html(hypertext markup language)是sgml的一个实例,它的dtd作为标准被固定下来。因此,html不能作为定义其它符号化语言的元语言。

  作为world wide web的一个组成部分,html语言发展很快,在短短的几年里,它已历经了html1.0、html2.0和html3.0、html4.0等多个版本,同时dhtml (动态)、vhtml(虚拟)、shtml等也飞速发展起来。html以简单精练的语法、极易掌握的通用性与易学性,使web网页可以亲近于每一个普通人,互联网因此得以普及发展以至今日辉煌。

  但是,目前的html还不稳定,不同的浏览器会产生不同的显示效果。此外  ,由于html对超级链接支持不足,并缺乏空间立体描述,处理图形、图像、音频、视频等多媒体能力较弱,图文混排功能简单,不能表示多种媒体的同步关系等缺点,也影响html的大规模应用以及用于复杂的多媒体数据处理。

xml的诞生

  xml是由w3c于1998年2月发布的一种标准。它同样是sgml的一个简化子集,它将sgml的丰富功能与html的易用性结合到web的应用中,以一种开放的、自我描述方式定义了数据结构。在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是友好的、可操作的。之后,w3c又用xml设计出一个与html4.01功能等价的语言,称为xhtml1.0 (extensible hyper text markup language)使之与html相兼容。

  xml是sgml的一个子集,严格地讲,xml也还是sgml。与html不同的是xml有dtd,因而也可以像sgml那样作为元语言来定义其它文件系统,或称其它符号化语言。如果把符号化语言分为元符号化语言和实例符号化语言的话,sgml和xml都是元符号化语言,而html和由xml派生的xhtml都是实例符号化语言。

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

xml的特点

  xml作为引人注目的核心技术应用于btob、web服务、.net等许多系统中。xml是it界谈话中不可缺少的一个关键词。因此,xml对于计算机工程师来说,是必不可少的一门知识。

xml可以作为电子数据交换的统一格式

  10年来,web存储格式语言,从html发展到dhtml,直到今天最新的xml,发展的每一步,都是为了适应web应用发展的需求。虽然xml原本是为出版界设计的一种文档描述语言,即sgml派生而来的一种符号化语言,但是它也是为互联网的数据交换而设计的。从而,xml不仅仅是sgml定义的用于描述的文档,而且在电子商务等各个领域使数据交换成为可能。

  xml能够应用于各种领域的原因,就是xml具有到目前为止其他方法所不具备的数据描述特点,控制信息不是采用应用软件的独有形式,而是采用谁都可以看得懂的标记形式来表现,所以xml最适合作为数据交换的标准,这也是 xml受人关注的原因。

  用xml可以对数据关系进行定义形成特有的标准,因此各行各业都在建立自己的行业化标准,以应用于网络上处理电子商务,把后台系统通过web站点表现出来。xml还可以作为数据仓储,一个xml文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性的数据,实现数据交换、上下文检索、多媒体传输。

xml具有其他方法所不具备的数据描述特点

  xml是以文本形式来描述的一种文件格式 由于xml是以文本形式描述的,所以适合于各种平台环境的数据交换。同样由于使用文本来描述内容,可以越过不同平台的障碍进行正常的数据交换。但是,文本形式也会因为文字代码的不同造成不能阅读的问题,在这一点上xml有着非常完美的解决方案。

  xml使用有意义的标记(tag) 在xml中文件是由一个个称之为元素(element)的部件构成。使用标记(tag )来描述元素。由于使用了标记的描述方法,可以保持原数据的意思和构造在互联网上进行数据交换,进而可以保持不同系统之间数据交换的灵活性。

  为什么具有上述的优点呢?首先是使用标记描述数据的话,可以具体指出开始元素(开始标记)、结束元素(结束标记),在开始和结束元素之间是要表现的元素数据。这就是用元素表现数据的方法。

标记可以作为子元素 xml中用标记符号化的元素可以作为子元素形成数据嵌套。

  xml的标记名和关系可以自由定义 就像许多文章中介绍的那样“xml是用标记描述的语言”,而且xml的标记名标记的层次结构等都可以由用户定义。也就是说,根据xml语法可以定义用户特殊用途的标记集合形成一个全新的符号化语言。这就是xml“可扩充(extensible)”名字的来源。

  可以说,xml是“定义语言的语言”,也即是一种元语言。由于xml具有元语言的功能,所以可以成为描述电子商务数据、多媒体演示数据、数学公式等各种各样数据应用语言的基础语言。下面提供几个以xml为基础生成的数据描述语言(本文亦称为xml应用语言)的应用例子,即出版媒体:open ebook(电子书籍)、newsml(新闻媒体);科学:mathml(数学表达式)、cml(化学);电子商务:cxml(电子商务)、fpml(金融);多媒体:smil(多媒体演示)、bml(卫星数据传送)。

  另外,就像我们使用的自然语言,讲这种语言的人多了就会把它当作不认识的人之间的初次交流时的工具。同样,在特定的企业之间或在业界内归纳出一套标记集合,即约定用一套特定的xml应用语言作为交流工具是很有价值的。但是,许多xml用户都是用业界或集团标准化以后的应用语言,很少有人自己制作一套新的xml应用语言。