fbpx
维基百科

XML

可扩展标记语言(英語:Extensible Markup Language,简称:XML)是一种标记语言。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRLXPath等。

可擴展標記語言
扩展名.xml
互联网媒体类型
  • application/xml
  • text/xml[1]
统一类型标识public.xml
UTI结构public.text
开发者万维网联盟
格式类型标记语言
扩展自SGML
扩展为
标准
  • 1.0(第五版)
    (2008年11月26日,​14年前​(2008-11-26)
  • 1.1(第二版)
    (2006年8月16日,​17年前​(2006-08-16)
免费格式?

历史 编辑

1960年代,IBM開始發展的GMLGeneralized Markup Language)。

GML的重要概念:

  • 文件中能夠明確的將標示與內容分開
  • 所有文件的標示使用方法均一致

1978年,ANSI將GML加以整理規範,發佈成為SGML(The Standard Generalized Markup Language)。1986年,XML的前身起為ISO 8879,当时被廣泛地運用在各種大型的文件計劃中,但是SGML是一種非常嚴謹的文件描述法,導致過於龐大複雜,其標準手冊就有500多頁,这使它難以理解和學習,進而影響了推廣與應用。

同時W3C也發現到HTML的問題:

  • 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
  • 效能問題 - 需要下載整份文件,才能開始搜尋文件中的内容。
  • 擴充性、彈性、易讀性均不佳。

為了解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言:XML。XML從1995年開始有其雛形,並向W3C全球資訊網聯盟)提案,而在1998年二月發佈為W3C的標準(XML1.0)XML是在一個這樣的背景下誕生的——為了有一個更中立的方式,讓客戶端自行決定要如何消化、呈現從服務端所提供的資訊。

XML被廣泛用來作為跨平台之間交互數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的文件格式)。

用途 编辑

 
RecipeBook的例子,一種基於XML語法上的烹飪技術書刊。此標籤可轉換為:HTML, PDF以及Rich Text Format並使用程式語言或XSL。

XML设计是用来传送和携带数据信息,不用于表现和展示数据,HTML則用来表现数据,所以XML用途的焦点是在于说明数据是什么以及携带数据信息。

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

重要术语 编辑

字符(characters) 编辑

XML 1.0规范允许的(转义后的最终解码值)合法字符: #x9(水平制表符)、#xA(回车符)、#xD(换行符)、#x20-#xD7FF、#xE000-#xFFFD、#x10000-#x10FFFF。即任何Unicode字符,不包含surrogate blocks, FFFE, FFFF。

XML规范定义了5个"预定义实体"来表示特殊字符. XML也允许在每个文档定义任意数量的其它命名实体.

下表列出了5个XML预定义实体. 通过名字引用这些实体的格式为&name;,例如, & 将绘制为&.

名字 字符 Unicode码位(十进制) 标准 描述
quot " U+0022 (34) XML 1.0 双引号
amp & U+0026 (38) XML 1.0 &
apos ' U+0027 (39) XML 1.0 撇号
lt < U+003C (60) XML 1.0 小于号
gt > U+003E (62) XML 1.0 大于号

處理器(Processor)與应用(application) 编辑

XML处理器(Processor,也称作XML parser)分析标记语言并传递结构化信息给应用(application)。

标记(Markup)与内容(content) 编辑

XML文档的字符分为标记(Markup)与内容(content)两类。标记通常以<开头,以>结尾;或者以字符& 开头,以;结尾。不是标记的字符就是内容。但是CDATA部分,分解符号<![CDATA[]]>是标记,二者之间的文本为内容。 最外界的空白符是标记。

標籤(Tag) 编辑

一个tag属于标记结构,以<开头,以>结尾。Tag名字是大小写敏感,不能包括任何字符 !"#$%&'()*+,/;<=>?@[\]^`{|}~, 也不能有空格符, 不能以"-"或"."或数字开始。可分为三类:

  • start-tag,如<section>;
  • end-tag,如</section>;
  • empty-element tag,如<line-break />.

元素(Element) 编辑

元素是文档逻辑组成,或者在start-tag与匹配的end-tag之间,或者仅作为一个empty-element tag。例如:<greeting>Hello, world!</greeting>. 另一个例子是: <line-break />.

单个根(root)元素包含所有的其他元素。

属性(Attribute) 编辑

属性是一种标记结构,在start-tag或empty-element tag内部的“名字-值对”。例如:<img src="madonna.jpg" alt="Madonna" />。每个元素中,一个属性最多出现一次,一个属性只能有一个值。

如果属性有多个值,这需要采取XML协议以外的方式来表示,如采用逗号或分号间隔,对于CSS类或标识符的名字可用空格来分隔。

XML 声明(declaration) 编辑

XML文档如果以XML declaration开始,则表述了文档的一些信息。如<?xml version="1.0" encoding="UTF-8"?>.

编辑

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

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

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

结构 编辑

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

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

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

最常見的PI(processing instruction,像XML序言, 卻是不同類型的語法)是用來指定XML文件的樣式表, 这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。

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

参考文献 编辑

  1. ^ . Internet Engineering Task Force. July 2014 [2016-07-06]. (原始内容存档于2022-04-18). 

延伸閱讀 编辑

  • Annex A of ISO 8879:1986 (SGML)
  • Lawrence A. Cunningham. Language, Deals and Standards: The Future of XML Contracts. Washington University Law Review. 2005. SSRN 900616 . 
  • Bosak, Jon; Bray, Tim. XML and the Second-Generation Web. Scientific American. May 1999 [2018-01-19]. (原始内容于2009-10-01). 
  • Kelly, Sean. Making Mistakes with XML. Developer.com. 2006-02-06 [2010-10-26]. (原始内容存档于2013-01-02). 
  • St. Laurent, Simon. . O'Reilly XML Blog. O'Reilly Media. 2003-02-12 [2010-10-26]. (原始内容存档于2013-12-03). 
  • . World Wide Web Consortium. 2008-02-12 [2010-10-26]. (原始内容存档于2022-02-12). 
  • Introduction to XML (PDF). Course Slides. Pierre Geneves. October 2012 [2018-01-19]. (原始内容 (PDF)于2015-10-16). 

外部链接 编辑

参见 编辑

此條目翻譯品質不佳, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, 可扩展标记语言, 英語, extensible, markup, language, 简称, 是一种标记语言, 是从标准. 此條目翻譯品質不佳 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 可扩展标记语言 英語 Extensible Markup Language 简称 XML 是一种标记语言 XML是从标准通用标记语言 SGML 中简化修改出来的 它主要用到的有可扩展标记语言 可扩展样式语言 XSL XBRL和XPath等 可擴展標記語言扩展名 xml互联网 媒体类型application xmltext xml 1 统一类型标识public xmlUTI结构public text开发者万维网联盟格式类型标记语言扩展自SGML扩展为XHTMLRSSAtomKML标准1 0 第五版 2008年11月26日 14年前 2008 11 26 1 1 第二版 2006年8月16日 17年前 2006 08 16 免费格式 是 目录 1 历史 2 用途 3 重要术语 3 1 字符 characters 3 2 處理器 Processor 與应用 application 3 3 标记 Markup 与内容 content 3 4 標籤 Tag 3 5 元素 Element 3 6 属性 Attribute 3 7 XML 声明 declaration 4 例 4 1 结构 5 参考文献 6 延伸閱讀 7 外部链接 8 参见历史 编辑1960年代 IBM開始發展的GML Generalized Markup Language GML的重要概念 文件中能夠明確的將標示與內容分開 所有文件的標示使用方法均一致1978年 ANSI將GML加以整理規範 發佈成為SGML The Standard Generalized Markup Language 1986年 XML的前身起為ISO 8879 当时被廣泛地運用在各種大型的文件計劃中 但是SGML是一種非常嚴謹的文件描述法 導致過於龐大複雜 其標準手冊就有500多頁 这使它難以理解和學習 進而影響了推廣與應用 同時W3C也發現到HTML的問題 不能解決所有解釋資料的問題 像是影音檔或化學公式 音樂符號等其他形態的內容 效能問題 需要下載整份文件 才能開始搜尋文件中的内容 擴充性 彈性 易讀性均不佳 為了解決以上問題 專家們使用SGML精簡製作 並依照HTML的發展經驗 產生出一套使用上規則嚴謹 但是簡單的描述資料語言 XML XML從1995年開始有其雛形 並向W3C 全球資訊網聯盟 提案 而在1998年二月發佈為W3C的標準 XML1 0 XML是在一個這樣的背景下誕生的 為了有一個更中立的方式 讓客戶端自行決定要如何消化 呈現從服務端所提供的資訊 XML被廣泛用來作為跨平台之間交互數據的形式 主要針對數據的內容 通過不同的格式化描述手段 XSLT CSS等 可以完成最終的形式表達 生成對應的HTML PDF或者其他的文件格式 用途 编辑 nbsp RecipeBook的例子 一種基於XML語法上的烹飪技術書刊 此標籤可轉換為 HTML PDF以及Rich Text Format並使用程式語言或XSL XML设计是用来传送和携带数据信息 不用于表现和展示数据 HTML則用来表现数据 所以XML用途的焦点是在于说明数据是什么以及携带数据信息 富文档 Rich Documents 自定文件描述并使其更丰富 属于文件为主的XML技术应用 标记是用来定义一份资料应该如何呈现 元数据 Metadata 描述其它文件或网络资讯 属于资料为主的XML技术应用 标记是用来说明一份资料的意义 配置文档 Configuration Files 描述软件設定的参数重要术语 编辑字符 characters 编辑 XML 1 0规范允许的 转义后的最终解码值 合法字符 x9 水平制表符 xA 回车符 xD 换行符 x20 xD7FF xE000 xFFFD x10000 x10FFFF 即任何Unicode字符 不包含surrogate blocks FFFE FFFF XML规范定义了5个 预定义实体 来表示特殊字符 XML也允许在每个文档定义任意数量的其它命名实体 下表列出了5个XML预定义实体 通过名字引用这些实体的格式为 amp name 例如 amp amp 将绘制为 amp 名字 字符 Unicode码位 十进制 标准 描述quot U 0022 34 XML 1 0 双引号amp amp U 0026 38 XML 1 0 amp apos U 0027 39 XML 1 0 撇号lt lt U 003C 60 XML 1 0 小于号gt gt U 003E 62 XML 1 0 大于号處理器 Processor 與应用 application 编辑 XML处理器 Processor 也称作XML parser 分析标记语言并传递结构化信息给应用 application 标记 Markup 与内容 content 编辑 XML文档的字符分为标记 Markup 与内容 content 两类 标记通常以 lt 开头 以 gt 结尾 或者以字符 amp 开头 以 结尾 不是标记的字符就是内容 但是CDATA部分 分解符号 lt CDATA 与 gt 是标记 二者之间的文本为内容 最外界的空白符是标记 標籤 Tag 编辑 一个tag属于标记结构 以 lt 开头 以 gt 结尾 Tag名字是大小写敏感 不能包括任何字符 amp lt gt 也不能有空格符 不能以 或 或数字开始 可分为三类 start tag 如 lt section gt end tag 如 lt section gt empty element tag 如 lt line break gt 元素 Element 编辑 元素是文档逻辑组成 或者在start tag与匹配的end tag之间 或者仅作为一个empty element tag 例如 lt greeting gt Hello world lt greeting gt 另一个例子是 lt line break gt 单个根 root 元素包含所有的其他元素 属性 Attribute 编辑 属性是一种标记结构 在start tag或empty element tag内部的 名字 值对 例如 lt img src madonna jpg alt Madonna gt 每个元素中 一个属性最多出现一次 一个属性只能有一个值 如果属性有多个值 这需要采取XML协议以外的方式来表示 如采用逗号或分号间隔 对于CSS类或标识符的名字可用空格来分隔 XML 声明 declaration 编辑 XML文档如果以XML declaration开始 则表述了文档的一些信息 如 lt xml version 1 0 encoding UTF 8 gt 例 编辑XML定义结构 存储信息 传送信息 下例為小张发送给大元的便条 存储为XML lt xml version 1 0 gt lt 小紙條 gt amp nbsp lt 收件人 gt 大元 lt 收件人 gt amp nbsp lt 發件人 gt 小張 lt 發件人 gt amp nbsp lt 主題 gt 問候 lt 主題 gt amp nbsp lt 具體內容 gt 早啊 飯吃了沒 lt 具體內容 gt lt 小紙條 gt 这XML文档仅是纯粹的信息标签 这些标签意义的展开依赖于应用它的程序 结构 编辑 每个XML文档都由XML声明开始 在上面的代码中的第一行就是XML声明 lt xml version 1 0 gt 这一行代码会告诉解析器或浏览器 这个文件应该按照XML规则进行解析 但是 根元素到底叫 lt 小纸条 gt 还是 lt 小便条 gt 则是由文档类型定义 DTD 或XML纲要 XML Schema 定义的 如果DTD规定根元素必须叫 lt 小便条 gt 那么若写作 lt 小纸条 gt 就不符合要求 这种不符合DTD或XML纲要的要求的XML文档 被称作不合法的XML 反之则是合法的XML XML文件的第二行并不一定要包含文档元素 如果有注释或者其他内容 文档元素可以迟些出现 最常見的PI processing instruction 像XML序言 卻是不同類型的語法 是用來指定XML文件的樣式表 这个PI一般会直接放在XML序言之后 通常由Web浏览器使用 来将XML数据以特殊的样式显示出来 XML的结构有一个缺陷 那就是不支持分帧 framing 当多条XML消息在TCP上传输的时候 无法基于XML协议来确定一条XML消息是否已经结束 参考文献 编辑 XML Media Types RFC 7303 Internet Engineering Task Force July 2014 2016 07 06 原始内容存档于2022 04 18 延伸閱讀 编辑Annex A of ISO 8879 1986 SGML Lawrence A Cunningham Language Deals and Standards The Future of XML Contracts Washington University Law Review 2005 SSRN 900616 nbsp Bosak Jon Bray Tim XML and the Second Generation Web Scientific American May 1999 2018 01 19 原始内容存档于2009 10 01 Kelly Sean Making Mistakes with XML Developer com 2006 02 06 2010 10 26 原始内容存档于2013 01 02 St Laurent Simon Five years later XML O Reilly XML Blog O Reilly Media 2003 02 12 2010 10 26 原始内容存档于2013 12 03 W3C XML is Ten World Wide Web Consortium 2008 02 12 2010 10 26 原始内容存档于2022 02 12 Introduction to XML PDF Course Slides Pierre Geneves October 2012 2018 01 19 原始内容存档 PDF 于2015 10 16 外部链接 编辑XML及SGML名词英汉翻译表 繁體中文 XML格式化工具 中文 页面存档备份 存于互联网档案馆 XML验证器 页面存档备份 存于互联网档案馆 英文 XML在线格式化工具 永久失效連結 中文 参见 编辑XHTML DTD XML Schema XLink SVG XSLT X3D HTML CSS RDF RSS Unicode MXML 取自 https zh wikipedia org w index php title XML amp oldid 78086252, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。