What is XML?

What is XML(eXtensible Markup Language)?
It’s similar to HTML.HTML is an application of SGML(Standard Generalized Markup Language).
SGML is a meta language that is used to create markup language.
XML is a subset of SGML and purpose of XML is different.

XML HTML 相比限制少很多,像是XML可以create new tagHTML必須用以限制好的tag;
But XML
並非用來取代HTML,因為HTML著重於如何將文件顯示在瀏覽器中, XML著重於如何將文件資料以結構化的方式來表示.

以下為表一.HTMLXML之差別(來源:http://www.mpinfo.com.tw/marketing/article/xml20030211.htm)

 

HTML

XML

HTML包含資料和呈現的格式

XML可輕易分開格式和資料

HTML標籤大多是設計來呈現文章的格局(LAYOUT) Ex<table><td><ol><li>

XML注意內容,外觀呈現可搭配Styling Sheet來做XMLHTML

標籤缺乏延伸本身屬性的表達能力

可自訂標籤本身的特性(properties)

標籤本身較無意義,僅有如<p><h1><title>

可自行定義標籤(meta-language)

標籤無法被識別

標籤可被識別,適合資料交換

很難從HTML文件中辨識並擷取資料

可輕易識別標籤,易於讀取所需資料

很難改變HTML所呈現的格式

套用Styling Sheet,易於改變呈現的格式

HTML某些起始標籤允許省略結束標籤

嚴格的巢狀結構,XML每一標籤都必須有起始及結束標籤

大小寫不分

大小寫有分

表一 HTMLXML的差異

 

 

以下為textbook中的範例

<?xml version = "1.0"?>

 

<myMessage>

   <message>Welcome to XML!</message>

   <from name = “Deitel”>XML How To Program</form>

</myMessage>

 


XML syntax requires have five : (以上面的文件來解說)

1.single root element -  myMessage

2.start and end tag for each element - <message> </message>

3.properly-nested tags – 必須是巢狀<myMessage><message></message></myMessage>() , 不能有重疊 <myMessage><message></myMessage></message>()

4.attribute values in quotes - <from name = “Deitel”> </form>, Deitel is 屬性值

5. Proper capitalization(大小寫有別) - <message> <Message>

 

XML文件基本上是一個單純的文字檔,文件由字元資料(character data)和標示(markup)兩者組合。

Markup text is enclosed in ‘<’ and ‘>’ ,like child elemet.
   

Ex: <message> </message>

Character data(CDATA) is the text between start and end tag,but child elemet not character data.

   Ex: Welcome to XML!

 

Entity references

XML的特殊字元,ampersand (&)semicolon (;)包起來
   

Ex:  ampersand (&) => &amp;
    

     left-angle bracket (<) => &lt;
    

     right-angle bracket (>) => &gt;
    

     apostrophe (’) => &apos;
    

     double quote (”) => &quot;

CDATA(Character data) sections

CDATA 可以讓reserved characters and whitspace 當作純文字,不需經過Entity reference來解釋其中標籤,使用方式為開始於 <![CDATA[ 結束於 ]]>

 

回應

哇~~~!!!

用表格來表示HTML和XML的差別,

果然清楚多囉^^

由於文章中大部分都在介紹XML,

所以我來簡單補充一下HTML好了!!

HTML 檔案是什麼?

  • HTML 代表超文字標註語言(Hyper Text Markup Language)
  • 一個HTML檔案就是一個文字檔案包含 記號標示(markup tags)
  • 記號標示告訴網頁瀏覽器 如何顯示(how to display) 網頁
  • 一個HTML檔案必須具有 htm or html 副案名
  • 一個HTML棄案必須能夠用 簡單的文字編輯器(simple text editor)來編輯