XML

"可扩展标记语言"一般都是指“XML”

可扩展标记语言(英语:eXtensible Markup Language,简称: XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRLXPath等。

目录

历史

XML是从1995年开始有其雏形,并向W3C(万维网联盟)提案,而在1998年二月发布为W3C的标准(XML1.0)。XML的前身是SGML(The StandardGeneralized Markup Language),是自IBM从1960年代就开始发展的GML(Generalized Markup Language)标准化后的名称。

GML的重要概念:

  • 文件中能够明确的将标示与内容分开
  • 所有文件的标示使用方法均一致

1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为ISO所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。

同时W3C也发现到HTML的问题:

  • 不能解决所有解释数据的问题 - 像是影音文件或化学公式、音乐符号等其他形态的内容。
  • 性能问题 - 需要下载整份文件,才能开始对文件做搜索。
  • 扩充性、弹性、易读性均不佳。

为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:XML。

XML是在一个这样的背景下诞生的——为了有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息。

XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。

用途

RecipeBook的例子,一种基于XML语法上的烹饪技术书刊。此标签可转换为:HTML, PDF以及Rich Text Format并使用编程语言或XSL。RecipeBook的例子,一种基于XML语法上的烹饪技术书刊。此标签可转换为:HTML, PDF以及Rich Text Format并使用编程语言或XSL。

XML设计用来传送及携带数据信息,不用来表现或展示数据,HTML语言则用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。

  • 丰富文件(Rich Documents)- 自定文件描述并使其更丰富
    • 属于文件为主的XML技术应用
    • 标记是用来定义一份资料应该如何呈现
  • 元数据(Metadata)- 描述其它文件或网络资讯
    • 属于资料为主的XML技术应用
    • 标记是用来说明一份资料的意义
  • 配置文档(Configuration Files)- 描述软件设置的参数

XML定义结构、存储信息、传送信息。下例为小张发送给大元的便条,存储为XML。

<?xml version="1.0"?>
<小纸条>
 <收件人>大元</收件人>
 <發件人>小張</發件人>
 <主題>問候</主題>
 <具體內容>早啊,飯吃了沒? </具體內容>
</小纸条>

这XML文档仅是纯粹的信息标签,这些标签意义的展开依赖于应用它的程序。

结构

每个XML文档都由XML序言开始,在前面的代码中的第一行就是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器或浏览器这个文件应该按照XML规则进行解析。

但是,根元素到底叫<小纸条>还是<Book>,则是由文档类型定义(DTD)或XML纲要定义的。如果DTD规定根元素必须叫<小便条>,那你写作<小纸条>就不符合要求。这种不符合DTD或XML纲要的要求的XML文档,被称作不合法的XML,反之则是合法的XML。

XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。

这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。

XML的结构有一个缺陷,那就是不支持分帧(framing)。当多条XML消息在TCP上传输的时候,无法基于XML协议来确定一条XML消息是否已经结束。

本词条内容不代表绝对权威,不保证其绝对准确,不对其立场和观点负责,仅供参考。
分享到:

词条信息

  • 最后编辑:
  • 浏览次数: 1655 次
  • 编辑次数: 1次 历史版本
  • 更新时间: 2014-12-14
  • 相关词条