XML
| 扩展名 | .xml |
|---|---|
| 互联网媒体类型 | application/xml[1]text/xml[2] |
| 统一类型标识 | public.xml |
| 開發者 | 全球資訊網協會(W3C) |
| 格式 | 標記語言 |
| 延伸自 | SGML |
| 延伸至 | XHTML、RSS、Atom、KML等 |
| 标准 | 1.0 (Fifth Edition) 2008年11月26日 1.1 (Second Edition) 2006年8月16日 |
| 自由檔案格式 | Yes |
可扩展标记语言(英语:eXtensible Markup Language,简称: XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。
歷史[编辑]
XML是從1995年開始有其雛形,並向W3C(全球資訊網聯盟)提案,而在1998年二月發佈為W3C的標準(XML1.0)。XML的前身是SGML(The Standard Generalized 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或者其他的文件格式)。
用途[编辑]
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消息是否已经结束。
参考文献[编辑]
- ^ XML Media Types, RFC 3023. Internet Engineering Task Force. 9–11. 2001-01 [2010-01-04].
- ^ XML Media Types, RFC 3023. Internet Engineering Task Force. 7–9. 2001-01 [2010-01-04].
外部链接[编辑]
- XML及SGML名词英汉翻译表 (正体中文)
参见[编辑]
|
||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||