可扩展标记语言
计算机编程标记语言
可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点,。
背景
1996年7月 W3C在Jon Bosak(SUN公司的网络技术专家)的建议下成立了XML规范制订小组,其目的是为了将标准通用标记语言SGML(Standard Generic Markup Language)方便地应用于网络,参加规范制订的是一大批著名公司、学术机构代表和SGML 专家。在他们的共同努力下XML 1.0建议书8经W3C认可于1998年2月10日正式公布于众。随即,XML便成为近年来国外许多科研机构、知名数据库厂商和网络软件产品开发商的研发热点,国内对XML的研究方兴未艾。
XML是一种独立于软件和硬件的工具,用于存储和传输数据。XML代表可扩展标记语言,是一种与HTML非常相似的标记语言,被设计用于存储和传输数据,XML被设计为自描述的, XML是W3C推荐标准。
原理
可扩展标记语言AccessOracleSQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,可扩展标记语言仅仅是存储数据。事实上它与其他数据表现形式最大的不同是:可扩展标记语言极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。
XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换语言(此类语言主要包括XML,JSON等,常用于接口调用,配置文件,数据存储等场景),虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持XML,那就意味着程序可以更容易的与WindowsMac OSLinux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。
发展
XML有两个先驱:SGMLHTML,这两个语言都是非常成功的标记语言,但是都有一些与生俱来的缺陷。XML正是为了解决它们的不足而诞生的。
随着Web应用的不断发展,HTML的局限性也越来越明显地显现了出来,如HTML无法描述数据、可读性差、搜索时间长等。人们又把目光转向SGML,再次改造SGML使之适应现在的网络需求。随着先辈的努力,1998年2月10日,W3C(World Wide Web Consortium,万维网联盟)公布XML 1.0标准,XML诞生了。
XML最初的设计目的是为了EDI(Electronic Data Interchange,电子数据交换),确切地说是为EDI提供一个标准数据格式。
当前的一些网站内容建设者们已经开始开发各种各样的XML扩展,比如数学标记语言MathML、化学标记语言CML等。此外,一些著名的IT公司,如OracleIBM以及微软等都积极地投入人力与财力研发XML相关软件与服务支持,这无疑确定了XML在IT产业的重要地位。
SGML
早在Web未发明之前,SGML(Standard Generalized Markup Language,标准通用标记语言)就已存在,正如它的名称所言,SGML是国际上定义电子文件结构和内容描述的标准。SGML具有非常复杂的文档结构,主要用于大量高度结构化数据的访问和其他各种工业领域,在分类和索引数据中非常有用。
虽然SGML的功能很强大,但是它不适用于Web数据描述,而且SGML软件的价格非常昂贵;另外,SGML十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难:不仅如此,几个主要的浏览器厂商都明确拒绝支持SGML,这无疑是SGML在网上传播遇到的最大障碍。鉴于这些因素,Web的发明者——欧洲核子物理研究中心的研究人员,根据当时(1989年)的计算机技术,发明并推出了HTML。
HTML
1989年,HTML诞生,它抛弃了SGML复杂庞大的缺点,继承了SGML的很多优点。HTML最大的特点是简单性和跨平台性。
HTML是一种界面技术,它只使用了SGML中很少的一部分标记,例如HTML 4.0中只定义了70余种标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的。HTML这种固定的语法使它易学易用,在计算机上开发HTML的浏览器也十分容易。正是由于HTML的简单性,使得基于HTML的Web应用得到了极大的发展。
特征
XML具有以下特点:
总之,XML使用一个简单而又灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。但是,XML并非是用来取代HTML的。HTML着重如何描述将文件显示在浏览器中,而XML与SGML相近,它着重描述如何将数据以结构化方式表示。
规范
XML文件格式是纯文本格式,在许多方面类似于HTML,XML由XML元素组成,每个XML元素包括一个开始标记( ),一个结束标记( )以及两个标记之间的内容,例如,可以将XML元素标记为价格、订单编号或名称。标记是对文档存储格式和逻辑结构的描述。在形式上,标记中可能包括注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明( DTD)和序言。
具体规则如下:
1、必须有声明语句。
XML声明是XML文档的第一句,其格式如下:
2、注意大小写
在XML文档中,大小写是有区别的。“A”和“a”是不同的标记。注意在写元素时,前后标记的大小写要保持一致。最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母,这样可以减少因为大小写不匹配而产生的文档错误。
3、XML文档有且只有一个根元素
良好格式的XML文档必须有一个根元素,就是紧接着声明后面建立的第一个元素,其他元素都是这个根元素的子元素,根元素完全包括文档中其他所有的元素。根元素的起始标记要放在所有其他元素的起始标记之前;根元素的结束标记要放在所有其他元素的结束标记之后。
4、属性值使用引号
在HTML代码里面,属性值可以加引号,也可以不加。但是XML规定,所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号),否则将被视为错误。
5、所有的标记必须有相应的结束标记
在HTML中,标记可以不成对出现,而在XML中,所有标记必须成对出现,有一个开始标记,就必须有一个结束标记,否则将被视为错误。
6、所有的空标记也必须被关闭
空标记是指标记对之间没有内容的标记,比如“”等标记。在XML中,规定所有的标记必须有结束标记。
示例:
XML与HTML区别
(1)可扩展性方面:HTML不允许用户自行定义自己的标识或属性,而在XML中,用户能够根据需要自行定义新的标识及属性名,以便更好地从语义上修饰数据。
(2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。
(3)可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验,而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构校验。
(4)可以通过将html文件转换为符合xml标准的xhtml文件,实现html标准和xml标准的结合。
标准
虽然XML标准本身简单,但与XML相关的标准却种类繁多,W3C制定的相关标准就有二十多个,采用XML制定的重要的电子商务标准就有十多个。这一方面说明XML确实是一种非常实用的结构化通用标记语言,并且已经得到广泛应用;另一方面,这又为了解这些标准带来一定的困难,除了标准种类繁多外,标准之间通常还互相引用,特别是应用标准,它们的制定不仅仅使用的是XML标准本身,还常常用到了其他很多标准。XML标准的体系与SGML标准的体系非常相似,XML相关标准也可分为元语言标准、基础标准、应用标准三个层次。
元语言标准
描述的是用来描述标准的元语言。在XML标准体系中就是XML标准,是整个体系的核心,其他XML相关标准都是用它制定的或为其服务的。
基础标准
这一层次的标准是为XML的进一步实用化制定的标准,规定了采用XML制定标准时的一些公用特征、方法或规则。如 XML Schema描述了更加严格地定义XML文档的方法,以便可以更自动化处理XML文档;XMLNamespace用于保证 XML DTD中名字的一致性,以便不同的DTD中的名字在需要时可以合并到一个文档中;XSL是描述XML文档样式与转换的一种语言;XLink用来描述XML文档中的超链接;XPointer描述了定位到XML文档结构内部的方法;DOM定义了与平台和语言无关的接口,以便程序和脚本动态访问和修改文档内容、结构及样式等。
应用标准
XML已开始被广泛接受,大量的应用标准,特别是针对因特网的应用标准,纷纷采用XML进行制定。有人甚至认为,XML标准是因特网时代的ASCII标准。在这因特网时代,几乎所有的行业领域都与因特网有关。而它们一旦与因特网发生关系,都必然要有其行业标准,而这些标准往往采用XML来制定。
参考资料
最新修订时间:2023-08-30 15:02
目录
概述
背景
参考资料