XML

Multi tool use
Multi tool use









body.skin-minerva .mw-parser-output table.infobox caption{text-align:center}













































可擴展標記語言


扩展名
.xml

互联网媒体类型


  • application/xml


  • text/xml[1]


统一类型标识
public.xml
UTI结构
public.text
开发者
万维网联盟
格式类型
标记语言
延伸自
SGML
延伸成

  • XHTML

  • RSS

  • Atom

  • KML


标准


  • 1.0(第五版)
    (2008年11月26日,​10年前​(2008-11-26)


  • 1.1(第二版)
    (2006年8月16日,​12年前​(2006-08-16)


自由格式

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




目录






  • 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 参见





历史


XML的前身是SGMLThe Standard Generalized Markup Language),是自IBM從1960年代就開始發展的GMLGeneralized Markup Language)標準化後的名稱。


GML的重要概念:



  • 文件中能夠明確的將標示與內容分開

  • 所有文件的標示使用方法均一致


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


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



  • 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。

  • 效能問題 - 需要下載整份文件,才能開始對文件做搜尋。

  • 擴充性、彈性、易讀性均不佳。


為了解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言:XML。


XML是在一個這樣的背景下誕生的——为了有一個更中立的方式,讓消費端自行決定要如何消化、呈現從服務端所提供的資訊。


XML是從1995年開始有其雛形,並向W3C(全球資訊網聯盟)提案,而在1998年二月發佈為W3C的標準(XML1.0)。


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。


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

这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. ^ XML Media Types, RFC 7303. Internet Engineering Task Force. July 2014. 




延伸閱讀


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}


  • 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. (原始内容存档于1 October 2009). 


  • Kelly, Sean. Making Mistakes with XML. Developer.com. 2006-02-06 [2010-10-26]. 


  • St. Laurent, Simon. Five years later, XML... O'Reilly XML Blog. O'Reilly Media. 2003-02-12 [2010-10-26]. 


  • W3C XML is Ten!. World Wide Web Consortium. 2008-02-12 [2010-10-26]. 


  • Introduction to XML (PDF). Course Slides. Pierre Geneves. October 2012. (原始内容 (PDF)存档于2015-10-16). 




外部链接




  • XML及SGML名词英汉翻译表 (繁体中文)


  • XML验证器 (英文)


  • XML在线格式化工具 (中文)



参见



  • XHTML

  • DTD

  • XML Schema

  • XLink

  • SVG

  • XSLT

  • X3D

  • HTML

  • CSS

  • RDF


  • RSS
    • Unicode


  • MXML










kZSE 9UGcNf1S6qveSuEePZ,uB gV8YdSAvB
mX3y5A4gu,3U,tYaDiev5YkS29hQ

Popular posts from this blog

How to pass form data using jquery Ajax to insert data in database?

Guess what letter conforming each word

Run scheduled task as local user group (not BUILTIN)