可擴展標記語言

xml技術

可擴展標記語言,標準通用標記語言的子集,簡稱XML。是一種用於標記電子文件使其具有結構性的標記語言。

在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。是Internet環境中跨平台的、依賴於內容的技術,也是當今處理分散式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規範,使用它來簡化Internet的文檔信息傳輸。

簡介


可擴展標記語言與AccessOracleSQL Server等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,可擴展標記語言僅僅是存儲數據。事實上它與其他數據表現形式最大的不同是:可擴展標記語言極其簡單,這是一個看上去有點瑣細的優點,但正是這點使它與眾不同。
XML的簡單易於在任何應用程序中讀/寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其他的數據交換格式,但不久之後它們都將支持XML,那就意味著程序可以更容易的與Windows、Mac OSLinux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析它,並以XML格式輸出結果

發展歷史


XML有兩個先驅:SGML和HTML,這兩個語言都是非常成功的標記語言,但是都有一些與生俱來的缺陷。XML正是為了解決它們的不足而誕生的。

SGML

早在Web未發明之前,SGML(Standard Generalized Markup Language,標準通用標記語言)就已存在,正如它的名稱所言,SGML是國際上定義電子文件結構和內容描述的標準。SGML具有非常複雜的文檔結構,主要用於大量高度結構化數據的訪問和其他各種工業領域,在分類和索引數據中非常有用。
雖然SGML的功能很強大,但是它不適用於Web數據描述,而且SGML軟體的價格非常昂貴;另外,SGML十分龐大,既不容易學,又不容易使用,在計算機上實現也十分困難:不僅如此,幾個主要的瀏覽器廠商都明確拒絕支持SGML,這無疑是SGML在網上傳播遇到的最大障礙。鑒於這些因素,Web的發明者——歐洲核子物理研究中心的研究人員,根據當時(1989年)的計算機技術,發明並推出了HTML

HTML

1989年,HTML誕生,它拋棄了SGML複雜龐大的缺點,繼承了SGML的很多優點。HTML最大的特點是簡單性和跨平台性。
HTML是一種界面技術,它只使用了SGML中很少的一部分標記,例如HTML 4.0中只定義了70餘種標記。為了便於在計算機上實現,HTML規定的標記是固定的,即HTML語法是不可擴展的。HTML這種固定的語法使它易學易用,在計算機上開發HTML的瀏覽器也十分容易。正是由於HTML的簡單性,使得基於HTML的Web應用得到了極大的發展。

XML的產生

隨著Web應用的不斷發展,HTML的局限性也越來越明顯地顯現了出來,如HTML無法描述數據、可讀性差、搜索時間長等。人們又把目光轉向SGML,再次改造SGML使之適應現在的網路需求。隨著先輩的努力,1998年2月10日,W3C(World Wide Web Consortium,萬維網聯盟)公布XML 1.0標準,XML誕生了。
XML最初的設計目的是為了EDI(Electronic Data Interchange,電子數據交換),確切地說是為EDI提供一個標準數據格式。
當前的一些網站內容建設者們已經開始開發各種各樣的XML擴展,比如數學標記語言MathML、化學標記語言CML等。此外,一些著名的IT公司,如Oracle、IBM以及微軟等都積極地投入人力與財力研發XML相關軟體與服務支持,這無疑確定了XML在IT產業的重要地位。

格式


XML文件格式是純文本格式,在許多方面類似於HTML,XML由XML元素組成,每個XML元素包括一個開始標記(),一個結束標記()以及兩個標記之間的內容,例如,可以將XML元素標記為價格、訂單編號或名稱。標記是對文檔存儲格式和邏輯結構的描述。在形式上,標記中可能包括註釋、引用、字元數據段、起始標記、結束標記、空元素、文檔類型聲明( DTD)和序言。
具體規則如下:
1、必須有聲明語句。
XML聲明是XML文檔的第一句,其格式如下:
1
2、注意大小寫
在XML文檔中,大小寫是有區別的。“A”和“a”是不同的標記。注意在寫元素時,前後標記的大小寫要保持一致。最好養成一種習慣,或者全部大寫,或者全部小寫,或者大寫第一個字母,這樣可以減少因為大小寫不匹配而產生的文檔錯誤。
3、XML文檔有且只有一個根元素
良好格式的XML文檔必須有一個根元素,就是緊接著聲明後面建立的第一個元素,其他元素都是這個根元素的子元素,根元素完全包括文檔中其他所有的元素。根元素的起始標記要放在所有其他元素的起始標記之前;根元素的結束標記要放在所有其他元素的結束標記之後。
4、屬性值使用引號
在HTML代碼裡面,屬性值可以加引號,也可以不加。但是XML規定,所有屬性值必須加引號(可以是單引號,也可以是雙引號,建議使用雙引號),否則將被視為錯誤。
5、所有的標記必須有相應的結束標記
在HTML中,標記可以不成對出現,而在XML中,所有標記必須成對出現,有一個開始標記,就必須有一個結束標記,否則將被視為錯誤。
6、所有的空標記也必須被關閉
空標記是指標記對之間沒有內容的標記,比如“”等標記。在XML中,規定所有的標記必須有結束標記。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package="osg.AndroidExample"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
 
 
android:label="@string/app_name" android:screenOrientation="landscape"> 
 

名詞定義


中文名稱:可擴展標記語言
英文名稱:extensible markup language;XML
定義:用於標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。
應用學科:地理學(一級學科);地理信息系統(二級學科)

用途


XML是標準通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。

與HTML區別


(1)可擴展性方面:HTML不允許用戶自行定義他們自己的標識或屬性,而在XML中,用戶能夠根據需要自行定義新的標識及屬性名,以便更好地從語義上修飾數據。
(2)結構性方面:HTML不支持深層的結構描述,XML的文件結構嵌套可以複雜到任意程度,能表示面向對象的等級層次。
(3)可校驗性方面:HTML沒有提供規範文件以支持應用軟體對HTML文件進行結構校驗,而XML文件可以包括一個語法描述,使應用程序可以對此文件進行結構校驗。

格式特性


它與Access,Oracle和SQL Server等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,它僅僅是存儲數據。事實上它與其他數據表現形式最大的不同是:它極其簡單,這是一個看上去有點瑣細的優點,但正是這點使它與眾不同。
xml技術
xml技術
xml它和超文本標記語言語法區別:超文本標記語言的標記不是所有的都需要成對出現,它則要求所有的標記必須成對出現;HTML標記不區分大小寫,它則大小敏感,即區分大小寫。

結合

標準通用標記語言、超文本標記語言是它的先驅。標準通用標記語言它是國際上定義電子文件結構和內容描述的標準,是一種非常複雜的文檔的結構,主要用於大量高度結構化數據的防衛區和其他各種工業領域,利於分類和索引。同它相比,定義的功能很強大,缺點是它不適用於Web數據描述,而且標準通用標記語言軟體價格非常昂貴。 HTML相信大家都比較熟悉,即超文本標識語言,它的優點是比較適合web頁面的開發。但它有一個缺點是標記相對少,只有固定的標記集如
.等。缺少標準通用標記語言的柔性和適應性。不能支持特定領域的標記語言,如對數學、化學、音樂等領域的表示支持較少。舉個例子來說,開發者很難在網頁上表示數學公式、化學分子式和樂譜。它結合了標準通用標記語言和HTML的優點並消除其缺點。XML仍然被認為是一種標準通用標記語言。比標準通用標記語言要簡單,但能實現標準通用標記語言的大部分的功能。1996年的夏天,標準通用標記語言,使其在Web中,既能利用標準通用標記語言的長處,又保留html的簡單性。
XML的簡單使其易於在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其它的數據交換格式,但不久之後他們都將支持XML,那就意味著程序可以更容易的與Windows,Mac OS, Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析它,並以XML格式輸出結果。

友好

為了使得標準通用標記語言顯得用戶友好,它重新定義了標準通用標記語言的一些內部值和參數,去掉了大量的很少用到的功能,這些繁雜的功能使得標準通用標記語言在設計網站時顯得複雜化。它保留了標準通用標記語言的結構化功能,這樣就使得網站設計者可以定義自己的文檔類型,它同時也推出一種新型文檔類型,使得開發者也可以不必定義文檔類型。

簡明語法


SGML常用來定義針對HTML的文檔類型定義(DTD),同時它也常用於編寫XML的DTD。SGML的問題就在於它允許出現一些奇怪的語法,這讓創建HTML的解析器成為一個大難題:
這些問題使建立一個SGML語言的解析器變成了一項艱巨的任務,判斷何時應用以上規則的困難導致了SGML語言的定義一直停滯不前,以這些問題作為出發點,XML逐漸步入我們的視野。
XML去掉了之前令許多開發人員頭疼的SGML的隨意語法。在XML中,採用了如下的語法:
這些規則使得開發一個XML解析器要簡便得多,而且也除去了解析SGML中花在判斷何時何地應用那些奇怪語法規則上的工作。僅僅在XML出現后的前六年就衍生出多種不同的語言,包括MathML、SVG、RDF、RSS、SOAPXSLTXSL-FO,而同時也將HTML改進為XHTML

XML應用


XML技術已經廣泛應用於e-Learning應用系統的開發,大多數的商用e-Learning平台都支持XML標準。一些主要的網路設備製造商,如CISCO、JUNIPER等,生產的網路設備也已提供了對XML的支持,以利於今後基於XML的網路管理。

標準體系


雖然XML標準本身簡單,但與XML相關的標準卻種類繁多,W3C制定的相關標準就有二十多個,採用XML制定的重要的電子商務標準就有十多個。這一方面說明XML確實是一種非常實用的結構化通用標記語言,並且已經得到廣泛應用;另一方面,這又為了解這些標準帶來一定的困難,除了標準種類繁多外,標準之間通常還互相引用,特別是應用標準,它們的制定不僅僅使用的是XML標準本身,還常常用到了其他很多標準。XML標準的體系與SGML標準的體系非常相似,XML相關標準也可分為元語言標準、基礎標準、應用標準三個層次。

元語言標準

描述的是用來描述標準的元語言。在XML標準體系中就是XML標準,是整個體系的核心,其他XML相關標準都是用它制定的或為其服務的。

基礎標準

這一層次的標準是為XML的進一步實用化制定的標準,規定了採用XML制定標準時的一些公用特徵、方法或規則。如 XML Schema描述了更加嚴格地定義XML文檔的方法,以便可以更自動化處理XML文檔;XMLNamespace用於保證 XML DTD中名字的一致性,以便不同的DTD中的名字在需要時可以合併到一個文檔中;XSL是描述XML文檔樣式與轉換的一種語言;XLink用來描述XML文檔中的超鏈接;XPointer描述了定位到XML文檔結構內部的方法;DOM定義了與平台和語言無關的介面,以便程序和腳本動態訪問和修改文檔內容、結構及樣式等。

應用標準

XML已開始被廣泛接受,大量的應用標準,特別是針對網際網路的應用標準,紛紛採用XML進行制定。有人甚至認為,XML標準是網際網路時代的ASCII標準。在這網際網路時代,幾乎所有的行業領域都與網際網路有關。而它們旦與網際網路發生關係,都必然要有其行業標準,而這些標準往往採用XML來制定。
  • 目錄