標籤: 暫無標籤

XML(eXtensible Markup Language)即可擴展標記語言,它與HTML一樣,都是處於SGML,標準通用語言。Xml是Internet環境中跨平台的,依賴於內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML佔用的空間比二進位數據要佔用更多的空間,但XML極其簡單易於掌握和使用。

1 XML -簡介

XML,可擴展的標識語言(eXtensible Markup Language),其先驅是SGML和HTML。SGML,通用標識語言標準(Standard Generalized Markup Language),是國際上定義電子文件結構和內容描述的標準,是一種非常複雜的文檔結構,主要用於大量高度結構化數據的防衛區和其它各種工業領域,便於分類和索引。同XML相比,SGML定義的功能很強大,然而它不適於Web數據描述,而且價格非常昂貴。

XMLXML
XMLXML
XML與Access,Oracle和SQLServer等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,XML僅僅是展示數據。事實上XML與其他數據表現形式最大的不同是:他極其簡單。這是一個看上去有點瑣細的優點,但正是這點使XML與眾不同。

XML的簡單使其易於在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其它的數據交換格式,但不久之後他們都將支持XML,那就意味著程序可以更容易的與Windows、MacOS、Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析他,並以XML格式輸出結果。

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

XML是W3C制定的,XML的標準化工作由W3C的XML工作組負責,該小組成員由來自各個地方和行業的專家組成。因為XML是個公共格式,(它不專屬於任何一家公司),不必擔心XML技術會成為少數公司的盈利工具,XML不是一個依附於特定瀏覽器的語言。

2 XML -歷史回溯

XMLXML
XML是從1996年開始有其雛形,並向W3C(全球信息網聯盟)提案,而在1998二月發布為W3C的標準(XML1.0)。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM從60年代就開始發展的GML(Generalized Markup Language)標準化后的名稱。

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

人們對SGML進行了簡化衍生出HTML。HTML簡單,在初期沒有任何定義文檔外觀的相關方法,僅用來在瀏覽器里顯示網頁文件。而後,隨著網際網路的發展,人們為了控制其文件樣式,擴充了描述如何顯現數據的卷標。在Netscape與Microsoft之間的瀏覽器大戰後,HTML標準權威性遭受重大的考驗,所幸,到了HTML4.0時,W3C又恢復了其地位。

同時W3C意識到HTML的原罪:

不能解決所有解釋數據的問題-像是影音文件或化學公式、音樂符號等其它型態的內容。
效能問題-需要下載整份文件,才能開始對文件做搜尋的動作。
擴充性、彈性、易讀性均不佳。

為了解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述數據語言:XML。XML是在一個這樣的背景下誕生的─是不是能有一個更中立的方式,讓消費端自行決定要如何消化、呈現從服務端所提供的信息。而XML目的即在於提供一個對信息能夠做精準描述的機制,藉以彌補HTML太過於表現導向的特質。

3 XML -作用

XMLXML
1、豐富文件(Rich Documents)-自定文件描述並使其更豐富;

2、屬於文件為主的XML技術應用;

3、標記是用來定義一塊數據應該如何呈現;

4、解釋數據(Metadata)-描述其它文件或在線信息;

5、屬於數據為主的XML技術應用;

6、標記是用來說明一塊資料的意義;

7、組態檔案(Configuration Files)-描述軟體的組態參數。

4 XML -簡明語法

XMLXML
SGML常用來定義針對HTML的文檔類型定義(DTD),同時它也常用於編寫XML的DTD。SGML的問題就在於,它允許出現一些奇怪的語法,這讓創建HTML的解析器成為一個大難題:

1、某些起始標籤不允許出現結束標籤,例如HTML中標籤。包含了結束標籤就會出現錯誤。
2、某些起始標籤可以選擇性出現結束標籤或者隱含了結束標籤,例如HTML中標籤,當出現另一個標籤或者某些其他標籤時,便假設在這之前有一個結束標籤。
3、某些起始標籤要求必須出現結束標籤,例如HTML中標籤。
4、標籤可以以任何順序嵌套。即使結束標籤不按照起始標籤的逆序出現也是允許的,例如,Thisisasamplestring是正確的。
5、某些特性要求必須包含值,例如中的src特性。
6、某些特性不要求一定有值,例如[td]中的nowrap特性。
7、定義特性的兩邊有沒有加上雙引號都是可以的,所以和都是允許的。
這些問題使建立一個SGML語言的解析器變成了一項艱巨的任務。判斷何時應用以上規則的困難導致了SGML語言的定義一直停滯不前。以這些問題作為出發點,XML逐漸步入視野。
XML去掉了之前令許多開發人員頭疼的SGML的隨意語法。在XML中,採用了如下的語法:
8、任何的起始標籤都必須有一個結束標籤。
9、可以採用另一種簡化語法,可以在一個標籤中同時表示起始和結束標籤。這種語法是在大於符號之前緊跟一個斜線(/),例如。XML解析器會將其翻譯成。
10、標籤必須按合適的順序進行嵌套,所以結束標籤必須按鏡像順序匹配起始標籤,例如thisisasamplestring。這好比是將起始和結束標籤看作是數學中的左右括弧:在沒有關閉所有的內部括弧之前,是不能關閉外面的括弧的。
11、所有的特性都必須有值。
12、所有的特性都必須在值的周圍加上雙引號。

這些規則使得開發一個XML解析器要簡便得多,而且也除去了解析SGML中花在判斷何時何地應用那些奇怪語法規則上的工作。僅僅在XML出現后的前六年就衍生出多種不同的語言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同時也將HTML改進為XHTML。XML已經是世界上發展最快的技術之一。它的主要目的是使用文本以結構化的方式來表示數據。在某些方面,XML文件也類似於資料庫,提供數據的結構化視圖。

5 XML -XML與html有什麼關係?

XML是一種類似於HTML的標記語言,XML是用來描述數據的,XML的標記不是在XML中預定義的,你必須定義自己的標記,XML使用文檔類型定義(DTD)或者模式(Schema)來描述數據,XML使用DTD或者Schema后就是自描述的語言,XML(eXtensibleMarkupLanguage)是可擴展標記語言,它與HTML一樣,都是處於SGML,標準通用語言。Xml是Internet環境中跨平台的,依賴於內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML佔用的空間比二進位數據要佔用更多的空間,但XML極其簡單易於掌握和使用。

XML的簡單使其易於在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其它的數據交換格式,但不久之後他們都將支持XML,那就意味著程序可以更容易的與Windows、MacOS,Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析他,並以XML格式輸出結果。

因為XML是W3C制定的,XML的標準化工作由W3C的XML工作組負責,該小組成員由來自各個地方和行業的專家組成,他們通過email交流對XML標準的意見,並提出自己的看法(www.w3.org/TR/WD-xml)。因為XML是個公共格式,(它不專屬於任何一家公司),你不必擔心XML技術會成為少數公司的盈利工具,XML不是一個依附於特定瀏覽器的語言。

6 XML -XML和HTML的主要區別是什麼?

XML和HTML的不同可以歸納為3點:
一、XML擴展性比HTML強
XML(Extensible Markup Languages)是擴展標記語言的英語縮寫,他可以創建個性化的標記語言,可以稱之為元語言。XML的標記語言可以自定義,這樣可以提供更多的數據操作,而不像HTML一樣,只能局限於按一定的格式在終端顯示出來。HTML的功能只有瀏覽器放入顯示和列印,僅僅適合靜態網頁的要求。
二、XML的語法比HTML嚴格
由於XML的擴展性強,它需要穩定的基礎規則來支持擴展。它的嚴格規則為:
①起始和結束的標籤相匹配
②嵌套標籤不能相互嵌套
③區分大小寫
相對應XML的嚴格規則,HTML語言並沒有規定標籤的絕對位置,也不區分大小寫,而這些全部由瀏覽器來完成識別和更正。
三、XML與HTML互補
XML可以獲得應用之間的相應信息,提供終端的多項處理要求,也能被其他的解析器和工具所使用,在現階段,XML可以轉化成相應的HTML,來適應當前瀏覽器的需求。

7 XML -文檔結構

XMLXML
每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,。這一行代碼會告訴解析器和瀏覽器,這個文件應該按照前面討論過的XML規則進行解析。第二行代碼,,則是文檔元素(documentelement),它是文件中最外面的標籤是起始標籤和結束標籤之間的內容)。所有其他的標籤必須包含在這個標籤之內來組成一個有效的XML文件。XML文件的第二行並不一定要包含文檔元素;如果有註釋或者其他內容,文檔元素可以遲些出現。

頁面再往下的一些地方,可以發現標籤里有一些特殊的語法。代碼用於表示無需進行解析的文本,允許諸如大於號和小於號之類的特殊字元包含在文本中,而無需擔心破壞XML的語法。文本必須出現在之間才能合適地避免被解析。這樣的文本稱為Character Data Section,簡稱CDataSection。

雖然很像XML序言,但實際上是一種稱為處理指令(processinginstruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字元串序列。

8 XML -有效結構

XMLXML
結構良好的XML文檔

如果某個文檔符合XML語法規範,那麼就說這個文檔是「結構良好」的文檔。XMLSpy2006工具就可以測試某文檔是否為結構良好的XML文檔。

有效的XML文檔

所謂有效的XML文檔是指通過了DTD的驗證的,具有良好結構的XML文檔,要明白XML文檔可分為結構良好的XML文檔和有效的XML文檔,以及他們之間的關係。即具有結構良好的XML文檔並不一定就是有效的XML文檔,反之一個有效的XML文檔必定是一個結構良好的XML文檔。

9 XML -優勢

l       能使用預先定義標記。
l       定義數據的層次。
l        篩選我們只想得到的那部分數據。
l        真正做到國際化。
l       真正實現數據交互

l       可重用。

上一篇[ECM]    下一篇 [水靈靈]

相關評論

同義詞:暫無同義詞