2010年9月24日

XML 的第一堂課

概述:

可延伸標示語言eXtensible Markup Language,簡稱XML),又稱可延伸標記語言,指利用電腦所能理解的資訊符號,透過此種標記,電腦之間可以處理包含各種資訊的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記語言,這就是語言的可延伸性。XML是從標準通用置標語言(SGML)中簡化修改出來的。 HTML的使用目的是排版資料,修改資料的顯示,XML 並不是用來編排內容,而是用來描述資料,因此,它並沒有如同 HTML一般的預設標籤,使用者需要自行定義描述資料所需的各種標籤。

發展歷史:

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

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

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

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

為了解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言:XML。 XML是在一個這樣的背景下誕生的——為了有一個更中立的方式,讓消費端自行決定要如何消化、呈現從服務端所提供的資訊。

XML與HTML

舉例來說,下面這段HTML碼,將成績結果以table的方式呈現:
       

       

姓 名國 文數 學
小 明9076
小 華8581
此時若是利用XML,則可以將此成績結果以下列的方式呈現:

由上面的例子我們可以很清楚的看到,XML並未如HTML包含了顯示的標記,無法讓瀏覽器依照其格式來顯示。但是它以巢狀結面清楚的標示了各元素之間的關係,但電腦可以很容易的判別各個元素。