iLMS知識社群ePortfolioeeClass學習平台空大首頁登入
(2012-10-18) 數位內容導論 第13講
by 李百麗 2012-10-18 18:18:35, 回應(0), 人氣(851)
一、XML的特徵
.XML可按照需求,以某種形式儲存和組織任何類型的資料
.XML是開放標準,不是某家公司的財產,也沒有和特定軟體掛勾。
.XML的標準字元集是Unicode。它可支援為數龐大書寫系統和符號,從斯堪地那維亞的盧恩文到中國的表意文字   都支援。
.XML提供多種方式來檢驗文件品質,舉凡語法規則內部連結檢核文件模型比對資料定型等等。
.XML有簡明的語法和明確的結構,無論是對人或程式,讀取和解析都很簡單。
.XML可以輕易和樣現(stylesheet)結合,建立任何想要的文件格式。純粹的資料結構並不參與格式的轉換。
--來源:http://yes.nctu.edu.tw/Lecture/Web/XML/Intro/index.htm

XML是meta language
eXtensible Markup Language(XML)
--eXtenxible,可擴充的。
--訂下如何自行定義tag的一些規範,並且規定XML的格式為何
--meta language:衍生其它tag語法規範

XML定義自用tag的規範的初步整理(1/2)
.1.XML文件一定要以<?XML version="1.0" encoding="utf-8"?>做為開頭。
(encoding參數如果沒指定則以unicode為預設)
.2.tag Markup的方式,以<>把tag name包含起來,例如<book>,至於tag name自己取就可以。
.3.tag通常會有起始tag與結尾tag,將內容包含起來。例如<description>XHTML is a powerful technology for creating web site content.Learn how to create exciting pages using a technology that combines the benefits of XML with the existing wide coverage of HTML.</dexcription>
4.如果tag不包含內容,那麼結尾tag可以省略。但是必須加/在tag的最後,例如
<pageNum num="450"/>,原本應該是<pageNum num="450"></pageNum>

XML定義tag的規範的初步整理(2/2)
.5.tag可以有屬性,例如<name value="Cambridge"/>,<name>tag有一個屬性叫做value,其屬性值為"Cambridge"(字串)。
.6.XML文件,tag是巢狀結構(也可以看成是tree structure)。最外層的tag只能有一個,內層可以有多個,例如
<書架>
<book>
三國志
</book>
<book>
了凡四訓
</book>
</書架>

為什麼會有XML?
--為了進行結構化資料的溝通。
(1)人跟人。
(2)人跟應用程式(Appilication)。
(3)應用程式與應用程式。

---結構化資料舉例---
各位是電算中心的人,想要開發一個系統,可以記錄各學院的基本資料,並且供查詢。如果要以XML文件(document),請問你會怎麼定義tag。
<?xml version="1.0" encoding="utf-8" ?>
<大學 name="國立高雄第一科技大學">
<學院 name="電資學院">
  <department name="電腦與通訊工程系">
   <faculty>
    <name value="Tom" />
   </faculty>
  </department>   
  <department name="電子系">
   <faculty>
    <name value="John" />
   </faculty>
   <faculty>
    <name value="Jane" />
   </faculty>
  </department>
 </學院>
 <學院 name="工學院">   
 </學院>
 <學院 name="管理學院">  
 </學院>
 <學院 name="財金學院">
 </學院>
</大學>

---自行定義的XML標籤的應用範圍---
.tag只有對
(1)會使用到這種資料的那一群人才有意義。
(2)讀得懂這種資料格式的程式會有意義。
.因為他們了解共同的規範。
(1)tag與參數所代表的意義。
.定義了一組XML文件(tags結構),只在一定的範圍內有效,而且必須要有解讀者(parser)。
解讀者=剖析器