XML (Extensible Markup Language,可扩展标记语言) 是一种用于标记电子文件使其具有结构性的标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。语言的可扩展性指定义标记既可以使用国际通用的标记语言,也可以使用如XML的由相关人士*决定的标记语言。XML有两个前身,SGML和HTML。XML主要用到的有可扩展标记语言、XSL、XBRL和XPath等。
SGML (The Standard Generalized Markup Language) 在Web没有发明之前就存在,用于定义国际电子文件结构和内容描述的标准。SGML是自IBM将GML (Generalized Markup Language) 标准化后的简称。GML的强调文件中能够明确的将标示与内容分开,并且所有文件的标示使用方法均一致。但是SGML具有非常复杂的文档结构,导致过于庞大复杂 (标准手册就有500多页),难以理解和学习,进而影响其推广与应用。因此SGML不适用于Web数据描述,
随即,Web的发明者根据当时(1989年)的计算机技术,发明并推出了HTML。同时W3C也发现到HTML的问题,不能解决所有解释数据的问题,如影音档或化学公式、音乐符号等其他形态的内容。还有性能问题,需要下载整份文件,才能开始对文件做搜索。此外,其扩展性、弹性、易读性均不佳。
XML正是为了解决SGML和HTML的不足而诞生的。专家们使用SGML精简制作,并依照HTML的发展经验,发布了出一套规则严谨,但是简单的描述语言:是一种用于标记电子文件使其具有结构性的标记语言。XML最初的设计目的是为了EDI (Electronic Data Interchange,电子数据交换) ,确切地说是为EDI提供一个标准数据格式。当 XML被引入软件工业界时,它给整个行业带来了一场风暴。有史以来第一次,这个世界拥有了一种用来结构化文档和数据的通用且适应性强的格式,它不仅仅可以用于 WEB,而且可以被用于任何地方
XML有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息。XML从1995年开始有其雏形,并向W3C (万维网联盟) 提案,而在1998年二月发布为W3C的标准 (XML1.0) ,用于简化Internet的文档信息传输。
XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等) 可以完成最终的形式表达,生成对应的HTML,PDF或者其它的文件格式。
XML设计用来传送及携带数据信息,不用于表现或展示数据,HTML则用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。其主要特点是从HTML中分离数据、交换数据、共享数据、创建新的语言、并应用于B2B场景中。XML使用一个简单而又灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。
资料来源:
*词条:XML
[1] XML Media Types, RFC 7303. Internet Engineering Task Force. July 2014
[2] 《Designing With Web Standards Second Edition》, Jeffrey Zeldman