可擴展標記語言(英語:eXtensible Markup Language,簡稱:XML),是一種標記語言。標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。XML是從標準通用標記語言(SGML)中簡化修改出來的。它主要用到的有可擴展標記語言、可擴展樣式語言(XSL)、XBRL和XPath等。
GML的重要概念:
同時W3C也發現到HTML的問題:
XML被廣泛用來作為跨平台之間交互數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的文件格式)。
這XML文檔僅是純粹的信息標籤,這些標籤意義的展開依賴於應用它的程序。
範例文件中的第三行代碼是註釋,你會發現它與HTML中使用的註釋風格是一樣的。這是XML從SGML中繼承的語法元素之一。
頁面再往下的一些地方,可以發現標籤裡有一些特殊的語法。代碼用於表示無需進行解析的文本,允許諸如大於號和小於號之類的特殊字元包含在文本中,而無需擔心破壞XML的語法。文本必須出現
在之間才能合適地避免被解析。這樣的文本稱為Character Data Section,簡稱CData
Section。
下面的一行就是在第二本書的定義之前的:
雖然它看上去很像XML序言,但實際上是一種稱為處理指令(processing instruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下 是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字元串序列。
最常見的PI是用來指定XML文件的樣式表:
這個PI一般會直接放在XML序言之後,通常由Web瀏覽器使用,來將XML數據以特殊的樣式顯示出來。
XML的結構有一個缺陷,那就是不支持分幀(framing)。當多條XML消息在TCP上傳輸的時候,無法基於XML協議來確定一條XML消息是否已經結束。
目錄 |
歷史
XML是從1995年開始有其雛形,並向W3C(全球資訊網聯盟)提案,而在1998二月發佈為W3C的標準(XML1.0)。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM從1960年代就開始發展的GML(Generalized Markup Language)標準化後的名稱。GML的重要概念:
- 文件中能夠明確的將標示與內容分開
- 所有文件的標示使用方法均一致
同時W3C也發現到HTML的問題:
- 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
- 效能問題 - 需要下載整份文件,才能開始對文件做搜尋。
- 擴充性、彈性、易讀性均不佳。
XML被廣泛用來作為跨平台之間交互數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的文件格式)。
用途
XML設計用來傳送及攜帶數據信息,不用來表現或展示數據,HTML語言則用來表現數據,所以XML用途的焦點是它說明數據是什麼,以及攜帶數據信息。- 豐富文件(Rich Documents)- 自定文件描述並使其更豐富
- 屬於文件為主的XML技術應用
- 標記是用來定義一份資料應該如何呈現
- 元數據(Metadata)- 描述其它文件或網路資訊
- 屬於資料為主的XML技術應用
- 標記是用來說明一份資料的意義
- 配置文檔(Configuration Files)- 描述軟體設定的參數
例
XML定義結構、存儲信息、傳送信息。下例為比爾發送給賈伯斯的便條,存儲為XML。<小紙條> <收件人>賈伯斯> <發件人>比爾> <主題>問候> <具體內容>嗨,過些年去找你。> >
結構
每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,。這一行代碼會告訴解析器和瀏覽器,這個文件應該按照前面討論過的XML規則進行解析。第二行代碼,< books>,則是文檔元素(document element),它是文件中最外面的標籤(我們認為元素(element)是起始標籤和結束標籤之間的內容)。所有其他的標籤必須包含在這個標籤之內來 組成一個有效的XML文件。XML文件的第二行並不一定要包含文檔元素;如果有註釋或者其他內容,文檔元素可以遲些出現。範例文件中的第三行代碼是註釋,你會發現它與HTML中使用的註釋風格是一樣的。這是XML從SGML中繼承的語法元素之一。
頁面再往下的一些地方,可以發現
下面的一行就是在第二本書的定義之前的:
雖然它看上去很像XML序言,但實際上是一種稱為處理指令(processing instruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下 是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字元串序列。
最常見的PI是用來指定XML文件的樣式表:
這個PI一般會直接放在XML序言之後,通常由Web瀏覽器使用,來將XML數據以特殊的樣式顯示出來。
XML的結構有一個缺陷,那就是不支持分幀(framing)。當多條XML消息在TCP上傳輸的時候,無法基於XML協議來確定一條XML消息是否已經結束。
留言