3.04.2010

[數位出版研究][Summary]XML Tutorial


圖片來源:w3schools


What is XML?

一開始,就開宗明義的列出XML的三點:
1. XML stands for eXtensible Markup Language. 它是一個『可擴充套件 置標/標記 語言』,也有人稱『延伸標記語言』
2. XML is designed to transport and store data. 用來傳送及說明所攜帶資料資訊。
3. XML is important to know, and very easy to learn. 是一套易懂易學的語言



XML是從1995年開始有其雛形,在這之前都是用SGML(The Standard Generalized Markup Language,XML的前身)和HTML。

那為什麼會出現XML?

1. SGML是一種非常嚴謹的檔案描述法,導致過於龐大複雜(標準手冊就有500多頁),難以理解和學習,進而影響其推廣與應用。
2. 同時W3C也發現到HTML的問題:
(1) 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
(2) 效能問題 - 需要下載整份檔案,才能開始對檔案做搜尋。
(3) 擴充性、彈性、易讀性均不佳。


故SGML需精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言。


W3C提到有關XML兩點的用途:
1. XML was designed to transport and store data.
2. HTML was designed to display data.

→ XML設計用來傳送及攜帶資料資訊,不用來表現或展示資料,HTML語言則用來表現資料,所以XML用途的焦點是它說明資料是什麼,以及攜帶資料資訊。


The Difference Between XML and HTML

XML不是為了取代HTML而存在,這要先記住。
他們的差別在於XML設計用來傳送及攜帶資料資訊,不用來表現或展示資料;HTML語言則用來表現資料,所以XML用途的焦點是它說明資料是什麼,以及攜帶資料資訊。

XML Does not DO Anything
它是一個透過嵌入的標籤來標記資訊,簡單說就是給機器讀的,機器透過它讀取後,可以傳送、接收和呈現資訊。
→ XML is Just Plain Text
→ 再度呼應XML is Not a Replacement for HTML



With XML You Invent Your Own Tags
XML沒有一定的標準tag,你可以自己定義tag。


把以上總整理之後,如下:
1. XML stands for EXtensible Markup Language
2. XML is a markup language much like HTML
3. XML was designed to carry data, not to display data
4. XML tags are not predefined. You must define your own tags
5. XML is designed to be self-descriptive
6. XML is a W3C Recommendation

這樣應該有比較清楚了吧。



課前心得

XML(eXtensible Markup Language),它是一個『可擴充套件 置標/標記 語言』,也有人稱『延伸標記語言』。它可用來傳送及說明所攜帶資料資訊,是一套易懂易學的語言。

XML是從1995年開始有其雛形,在這之前都是用SGML(The Standard Generalized Markup Language,即XML的前身)和HTML。之所以會出現XML,原因如下:
1. SGML是一種非常嚴謹的檔案描述法,導致過於龐大複雜(標準手冊就有500多頁),難以理解和學習,進而影響其推廣與應用。
2. 同時W3C也發現到HTML的問題:
(1) 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
(2) 效能問題 - 需要下載整份檔案,才能開始對檔案做搜尋。
(3) 擴充性、彈性、易讀性均不佳。

故SGML需精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言。

它的用途是設計用來易於傳送及攜帶資料資訊,不用來表現或展示資料;HTML語言則用來表現資料。這是它與HTML的差別,但XML絕不是為了取代HTML而存在!如果你在HTML設計動態網頁,你可能要編輯每一個HTML的檔案,但你若用XML就只要更新此檔,再將套到每個網頁去,可省下許多時間。另外,它是一個透過嵌入的標籤來標記資訊,簡單說就是給機器讀的,機器透過它讀取後,可以傳送、接收和呈現資訊。

XML是一個樹狀結構的語法,因此結尾有所謂的root來包覆,標籤上是封閉、巢狀式,這有別於HTML語法的不同,而達到以上條件的這些結構,就是一個well-formed的網頁。XML的標籤的命名沒有一定的特別標準,它可以依自己的方式去設定標籤。在命名上有四項注意:
(1)可以是字、數字和符號。
(2)不可用數字和標點符號開頭
(3)不可用XML(無論大小寫)來開頭
(4)不可有空白鍵

然後標籤都定義在DTD(Document Type Definition,文檔類型描述),在這裡可以定義 XML 文件中的元素、元素的屬性、元素的排列方式、元素包含的內容等等。但對 XML 文件而言,DTD 並非特別需要,well-formed XML 就不需要有 DTD。而有很多語言都是XML的再運用並延伸新的語法,如XHTML、WSDL、RSS、RDF、XSLT。

XML可以套用CSS,但是CSS通常只能設定一些簡單的樣式,如果要更進一步定義資料類型,那CSS就不敷使用了。XML有一種量身訂作的樣式語言,XSL (Extensible Stylesheet Language,延伸樣式語言),XSL樣式表本身使用的語法是XML。他的作用是定義以及轉換XML文件裡面的資料, 經過不同的XSL樣式表轉換,XML也會有不同的輸出,如網頁上的輸出就可能是將XML轉換為HTML。可以轉換成HTML,當然也可以轉換成其他的格式,這就是為什麼叫做延伸標記語言的原因!因為他的結構十分的彈性,可以利用不同的樣式去簡單的轉換成各種格式的文件。



參考網站:
1. W3C school
2. WIKI - XML
3. XML概論

沒有留言:

張貼留言

搜尋此網誌