XML概論


阿瑟 發表



XML就是延伸標記語言, 是用來描述資料的一種標記語言. 雖然現在整體的標準還有一點點變數, 但是他對於未來的文件上技術層面的影響是十分令人期待的.

相信大家對於HTML都已經有相當的認知的, 但是說到XML大家可能就很陌生了.
什麼是XMl呢?
XML的全名是Extensible Markup Language, 也就是延伸標記語言. XML和HTML一樣都是一種標記語言, 利用標籤來定義各種屬性.
HTML的使用目的是排版資料, 修改資料的顯示; XML的使用目的則是描述資料.

小弟先用一段簡單的範例來講解: (檔案名稱:test.xml)
<?xml version="1.0" encoding="big5" ?>

<catalog>

 <tutorial>
  <title>認識XML</title>
  <author>阿得</author>
  <date>9/19/2002</date>
  <category>XML教學</category>
 </tutorial>

 <tutorial>
  <title>Javascript: 隨機背景音樂</title>
  <author>阿得</author>
  <date>8/31/2002</date>
  <category>Javascript教學</category>
 </tutorial>

 <tutorial>
  <title>VBscript: Class類別</title>
  <author>阿得</author>
  <date>9/17/2002</date>
  <category>Vbscript教學</category>
 </tutorial>
</catalog>

相較於HTML, XML比較嚴格, 如屬性值一樣要用雙引號包起來否則會發生錯誤, 各種文件定義也不能省略.
您可以將這段程式碼copy下來然後另存成.xml副檔名的檔案.
這段語法小弟測試過了, 應該是沒有錯誤才是.
用瀏覽器瀏覽這份xml文件, 您應該會發現原始碼以樹狀的方式顯示出來

在XML裡面, 標籤本身都沒有意義, 在使用之前您必須去定義他們. 因此, 你可以使用幾乎任何名稱來命名標籤, 但是在被樣式語言定義之前這些標籤都不具有任何意義.
據小弟所知, 微軟的許多應用程式用的文件不是用XML為中心去寫的, 不然就是與XML可以互相互換. XML就是有這一個好處: 可以自由轉換.
就拿剛剛的範例來講, tutorial標籤下面有title, author, date, category等四個標籤, 在定義後, 這些可能成為項目清單, 表格或是列表, 這些標籤只是代號而已.

XML可以套用CSS, 但是CSS通常只能設定一些簡單的樣式, 如果要更進一步定義資料類型, 那CSS就不敷使用了.
XML有一種量身訂作的樣式語言, XSL, 全名為Extensible Stylesheet Language, 延伸樣式語言.
XSL樣式表本身使用的語法是XML, 他的作用是定義以及轉換XML文件裡面的資料, 經過不同的XSL樣式表轉換, XML也會有不同的輸出, 如網頁上的輸出就可能是將XML轉換為HTML. 可以轉換成HTML, 當然也可以轉換成其他的格式, 知道為什麼延伸標記語言了吧? 因為他的結構十分的彈性, 可以利用不同的樣式去簡單的轉換成各種格式的文件.
至於怎麼使用CSS或XSL來定義XML文件, 小弟會在以後的教學中講解.

雖然前面已經說過了, 但是小弟還是要再重申一次. 其實每一種標記語言都有自己的好處與用法.
如HTML(Hypertext Markup Language, 超文件標記語言) 是用來設定資料的顯示方式, 而VRML (Virtual Reality Markup Language, 虛擬實境標記語言) 是設定各種3D空間中的物體的顯示方式. XML的目的則是描述資料, 不同於HTML目的:顯示資料, XML中一開始的資料是沒有什麼意義的, 透過XML/XSL定義後才能將資料轉換成各種列表, 清單, 表格....
XML語言的目的並不是要取代HTML成為網頁語言的新標準, 而是輔助HTML, 提供HTML更有延伸性的資料定義方式.

由於小弟是最近才接觸這門語言, 在這邊給大家一點概念.
小弟剛開始玩的時候是覺得...蠻讚的, 不過XML比起HTML真的是複雜多了, 大家可能需要點耐心去摸索. 下次有機會小弟再給大家介紹XML與CSS和XSL的應用.

最後更新日期: 9/19/2002 5:52:42 PM