1996年,万维网联盟(W3C)开始设计一种可扩展的标记语言,使其能够将SGML的灵活性和强大功能与已经被广泛采用的HTML结合起来,经过W3C开发人员的努力于1998年2月10日XML 1.0诞生了。XML和HTML语言一样也是以SGML为基础,可以说它就是SGML的一个子集,但它比SGML更简单、易用,而它比HTML语言又更灵活、功能更强大。 XML全称为eXtensible Markup Language,即扩展标记语言。与HTML相似,XML是一种显示数据的标记语言,它能使数据通过网络无障碍地进行传输,并显示在用户的浏览器上。 同时XML又是一种元标记语言,它不像HTML那样只定义了一套固定的标记,用来描述一定数目的元素。如果标记语言中没有所需的标记,用户也就“巧妇难为无米之炊”了。利用XML用户可以根据某些通用的原理来定义自己需要的标记,这样用户就具有了相当的灵活性。例如,用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,就可以在文档类型定义(Document Type Definition,DTD)中加以描述上述每项的标记定义。 XML与HTML比较具有如下特点。 (1)使用有意义的标记 HTML只是进行了数据格式化,以便提供给浏览器读取,但不能传达数据的语义。而XML标记却能提供语义理解功能。 (2)数据的语义与显示方式分开 HTML定义了数据如何显示,但没有定义每个元素表示什么内容。因此如果获取了HTML格式的数据,可以立即显示它,但要对数据进行整理和其他操作就非常困难。而XML描述数据内容的语言,本身并不决定数据该如何显示,数据的显示由XSL决定。 (3)可自定义的标记 HTML标记由少数权威团体制定,种类有限且不能随意添加。而XML可由用户按需要增加标记。如数学标记语言MATHML、财经标记语言FPML等。 (4)严格的语法控制 HTML语法规则比较多元化,具有较大灵活性;文件结构比较松散,不容易转换为其他类型格式,比较难用程序来做大量而有效的处理,数据再利用的潜力大为降低。而XML对语法有严格的要求,所有XML的文件都必须经过严格的“验证”过程才算完成,文件格式相对紧凑比较容易被程序所处理。 基于以上特点,自从XML产生至今,该标记语言得到了飞速的发展,主要产生了以下几方面的应用。 数据交换:由于XML使用元素和属性来描述数据且保留了诸如父/子关系这样的树型数据结构。因此XML作为数据载体时,可以在文件或数据库中交换数据,应用程序更具有弹性。 创建标记语言:前面提到的利用XML规范化HTML,而生成HTML语言就是这种应用的一个例子。XML的元语言特性使得用户可以利用它创造更多自己需要的标记语言,如数学家创建数学符号标记、音乐家创建音符标记等。 Web服务:XML能使协议取得规范一致,能在不同编程语言之间进行通信和数据交换。例如,在SOAP平台上可以让一个C#对象与一个Java对象进行通信,这种通信甚至可以发生在运行于不同操作系统上的对象之间。 文档交换:XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容,因此它可以运行于不同系统平台之间和转换成不同格式的目标文件。 系统维护:使用XML作为配置参数文档的应用程序能够方便地处理所需数据,不用像其他应用程序那样要经过重新编译才能修改和维护应用系统。 |
