学习目标:
1、了解XML的概念
2、了解XML的历史
3、了解XML的应用场景
学习过程:
一、xml的简介
XML的全称是Extensible Markup Language,即可扩展标记语言。它是由W3C(即:World Wide Web Consortium)的XML工作组定义的。该工作组是这样定义XML的:
“扩展标记语言( X M L)是S G M L的子集,其目标是允许普通的S G M L在We b上以目前H T M L的方式被服务、接收和处理。X M L被设计成易于实现,且可在S G M L和H T M L之间互相操作。”
从上面的描述,我们只能大概的知道XML是在web上面用于服务和接受处理信息的。那么XML到底有什么作用呢?下面我们就XML的发展历史,XML的应用,以及XML的优势进行详细的讨论,理解了XML的基本特征后,我们也能明白XML为什么会如此流行,并对Web的发展起到这么强烈的冲击。
二、xml的历史发展
XML是一种标记语言,其功能和文字相似,就是用于保存信息,交流沟通。计算机世界与我们人类世界类似,人类语言之间的差异影响了人类的沟通和交流,而计算机之间也有这种交流障碍,尤其是互联网的不断发展,这种障碍也越来越突出,需要一种统一的简单的语言规范计算机的信息,而标记语言就是一种贴近自然语义的,并且能和计算机沟通的一种规范的语言,在标记语言中以文字的形式将文本信息与相关的其他信息编排在同一文件中,通过使用标记(markup)来进行标识,在使用时通过解释程序展现文件的结构、样式和数据处理的细节。
计算机的历史发展说明:“标准化、跨平台、自由开放”是信息化发展的方向和原动力,恰巧,标记语言具备以上特性。这是一个良性循环:在现在日益繁荣的信息化时代背景下,不断自由开放的技术造就了不同的操作平台发展,不同平台之间的互通性要求推进技术向标准化发展,标准化技术给自由开放提供发展的空间。
为了实现这种可以标准化、跨平台的标记语言,人们也在不断的研究,下面我们介绍一下XML的历史发展轨迹,也是三种比较流行的标记语言。
1、SGML(Standard Generalized Markup Language-标准通用标记语言)
1960年末,IBM发表了在文件/文本(document)层次上的通信协议(语言),即GML(Generalized Markup Language - 通用标识语言),到上世纪八十年代,GML进化成国际标准的SGML(Standard Generalized Markup Language)。SGML具有以下特点:标准,开放,跨平台,自由(不依赖于硬件和软件,不依赖于任何厂商)。
总的来说SGML是一种非常强大的标记语言,但是由于在设计功能上考虑非常强大通用性和适应性,因此SGML文法复杂,导致在小型的应用中难以普及。于是派生于SGML的HTML出现了。
2、HTML(HyperText Markup Language)
HTML是SGML的一个应用。1990年HTML和HTTP的诞生,互联网时代真正开始,网络开始改变人们的生活。IT业界汇集各国顶级精英,个个胸怀梦想为改变世界都为改变世界倾尽毕生全力。其中被称为互联网之父的,是英国物理学家Tim Berners Lee,他的成就在简化SGML的基础上演化出HTML,HTML是简单的,并继承了SGML的“标准化、跨平台、开放自由”基因。并创造了HTTP协议用于传输HTML,HTML跟HTTP协议的特点就是简单实效。尽管W3C目前建议使用XHTML 1.1、XHTML 1.0或者HTML 4.01标准编写网页,但已有不少网页开始使用 HTML5 规范进行编写。HTML5具有更多新特性,被业界寄予更多的希望。
如今的互联网已经离不开HTML了,总的来说HTML简单,容易学习,但是缺点是扩展性不强。
3、XML
为了能够将SGML的灵活和强大的功能和已经非常流行的HTML结合起来,W3C组织在1996年开始设计一种新的标记语言,这就是XML。XML可以被认为是SGML的一个子集,也属于定义标记语言的元语言,这意味着xml的标记是可以自行定义的,这点跟HTML完全不一样。相比来说XML比SGML的使用更为简单,在各种场合下也更加通用。XML的第一个版本于1998年2月发布为W3C的标准,自XML诞生以来,XML在IT应用引发巨大的变革。
1998年,XML1.0成为了W3C推荐标准,一直使用到现在。如果之前没有xml经验,我们推荐在学习xml时访问W3C的学习网站:
http://www.w3school.com.cn/xml/
三、XML的应用
上面我们提到“标准化、跨平台、自由开放”是未来计算机发展的方向,尤其是Web应用发展后,而不同计算机体系,不同的计算机语言,严重阻碍了这个发展,XML的出现正好可以解决这一切的问题。
XML是丰富文件(Rich Documents)——自定文件描述并使其更丰富。被成为是“web上的ASCII码”,你可以使用任何一种计算机语言编写一种数据结构,然后就可以和其他的计算机通讯和共享资源。下面我们简单介绍以下XML的应用场景,但不是全部,因为XML的应用还有远不止这些。
1、数据存储。
xml也可以像数据库一样结构化保存数据,同时提供了高效率的查询功能。因为xml本身就是一个结构化文档,我们可以用设计数据库的思想设计xml,然后也可以使用程序语言对xml进行高效的查询,排序,过滤和数据的处理等操作。
2、有助于在web服务器之间应用程序的通讯。
xml对于 Internet 和大型企业 Intranet 环境十分有价值,通过灵活、开放和基于标准的格式,提供了协同工作能力可以更快地构建应用易于维护可以通过不同的样式表提供多个结构化数据的视图。目前非常流行的Web Service技术的基础就是XML,SOAP(Simple Object Access Protocol 简单对象访问协议)可以让不同web应用程序之间以一种开放的、可扩展的方式通信,其实现方式就是XML。
3、结构化文档。
XMl文档以一种树形结构保存文档,所以任何文档都可以通过XML组织保存起来,比如我们一本书,可以分为书名,目录,摘要、大纲和内容,通过XML就可以组织就起来,并用于网络传输或者存储。还有一些存储矢量图片,如VML(矢量标记语言 Vector Markup Language),还可以用于多媒体的描述,如SMIL(同步多媒体集成语言, Synchronized Multimedia Integration Language)
4、企业应用。
创建、管理和使用复杂数字形式进行I n t e r n e t商业交易。这些形式可以包括使这种形式合法所绑定的数字签名( X F D L,扩展形式描述语言, Extensible Forms Description Language)。交换工作描述和摘要( HRMML,人力资源管理标记语言, Human Resource ManagementMarkup Language)。交换新闻和使用开放Web标准的信息(XML News),还有RSS。
5、科普应用。
格式化We b上的数学公式和科学内容( MathML,数学标记语言, Mathematical Markup Language)。描述分子结构(C M L,化学标记语言, Chemical Markup Language)编码并显示D N A 、R N A、和蛋白质序列的信息(BSML,生物信息序列标记语言,Bioinformatic Sequence Markup Language)。交换天文数据(A M L,天文数据标记语言, Astronomical Markup Language)。
上面这些应用只是简单的归纳,可见XML其实应用其实非常广泛,很多就在我们身边。
四、XML的优势
为什么XML应用如此广泛呢?当然有其优势,下面简单归纳一下XML特有的优势。
1、跨平台。
首先,XML一开始的设计目标就是为了可以直接应用于Internet,可以方便的在web上面保存和传递信息。XML应该与SGML兼容。不管你使用的任何硬件平台和操作系统平台,都可以直接解析XML文件。
2、简单、可扩展。
计算机和人类都可以很简单的理解XML文件,XML被设计为混合语(lingua franca),以便在用户和程序之间交换信息。可读性可通过允许人们(以及特殊的软件程序)编写和阅读XML文档来实现目标。
人们可以很容易地阅读X M L文档,因为它是用纯文本编写的,而且具有类似树型的逻辑结构。你可以通过为文档元素、属性和实体选择有意义的名字,并且增加有用的注释来增强XML的可读性。
3、数据重用。
XML可以自定义自己,并多次使用这个定义。使用XML保存的格式化文件,可以多次的重复使用。
4、数据和表示分离。
我们可以使用XSL 样式表定义XML的样式。XSL是 W3C 的一个规范,是一系列语言,允许描述如何格式化或转换使用 XML 标准编码的文件,XSLT 是一个可以将 XML 文档转换为其他 XML 文档或其他格式的XML应用程序,是XSL的一部分,有独立的命名空间。XSLT 处理器是一个将 XSL 样式表连接到XML文档的应用程序。
5、信息共享。
XML格式的文本可以非常方便的在网络上共享。比如上面举例的RSS新闻阅读,就是一个XML共享的示例。
6、XML应该支持各种应用程序。
尽管XML的主要目的是通过服务器和浏览器程序在We b上传递信息,但是它还可以被其他类型的程序使用。例如, X M L已被用于在财经程序之间交互信息,用来发布和更新软件,以及为通过电话传递信息编写语音脚本。
XML如此强大,但是学习确实非常简单,下面我们就一起啊开始学习XML。
★什么是W3C?★
W3C并非一个由官方所批准的标准组织,它的成员由IBM、Microsoft这样的公司所组成。W3C只是发布推荐标准,但是由于该组织自身的权威性往往成为事实上的标准。