課程老師:張迺貞 組員:黃淑珍097153108 吳雅瑜097153119 曲惠君097153113 蔡佩珊097153115(報告人) 資訊組織研究 Metadata Encoding Systems: XML 課程老師:張迺貞 組員:黃淑珍097153108 吳雅瑜097153119 曲惠君097153113 蔡佩珊097153115(報告人)
大綱 XML的定義 SGML、HTML、XML三者關係 XML的特色 Well-Formed介紹 DTD介紹 XML實例說明 XML Schema介紹 XML文件編輯工具 XML的應用方向 參考資料 Q&A
XML的定義 eXtensible Markup Language 可擴展標示語言。 W3C在1998年2月10日通過的建議書 World Wide Web Consortium(全球資訊網協會),宗旨是擬定諸多全球資訊網的公共標準,提升網路的互通性,帶動Web發展。 XML具備了SGML所沒有的簡易性與靈活性,又有著HTML所欠缺的擴展性與結構性,因此促使XML的誕生,廣泛利用。
XML能做什麼? XML並不是一個程式語言,就像HTML一樣,XML本身並不能獨立作任何事,XML只是提供描述、紀錄、處理和發行資訊的標準方法,必須搭配其他相關的延伸技術或軟體工具。 擁有許多強大的應用,例如超越像HTML在網頁呈現效果、資料管理與交換功能、遠端程式呼叫的封裝技術等等。
SGML、HTML、XML三者關係 XML掌握了SGML其延展性、文件自我描述特性、以及其強大的文件結構化功能,但XML卻摒除了SGML過於龐大複雜、不易學習及使用,以及未獲普及化的缺點。 XML的長處則是對文件資料進行結構性的描述,XML可以彌補HTML缺乏彈性、無法自訂控制標籤、只能應用在資料顯示的缺點。 所以,XML是取SGML之長,補HTML之短。
XML與HTML特性比較 HTML XML 擴展性 結構性 確認性 標籤集與每個標籤的意義是固定的,使用者無法自行定義標籤或屬性。 允許使用者根據需要,自行定義標籤與屬性。 結構性 不支援結構描述,只支援資料的呈現。 能描述各種複雜的文件結構。 確認性 沒有提供嚴格的語法檢驗,內定的資料型別定義(DTD)只著重於標籤的定義,而非結構的定義。 包含一個資料型別定義(DTD)或XML Schema,應用程式對文件能夠進行結構確認。
XML的特色 可擴展性 (Extensibility) 結構性(Structure) 嚴格的語法規範(Well-formedness) 可確認性(Validation) 自我描述性 資料和樣式分離原則
電子文件三要素 Presentation 表現 Structure 結構 Content內容
XML相關延伸技術圖
Well-Formed的意義 是一套編寫XML文件最基本的規則,一個完好的(Well-Formed )XML文件必須遵守下列規則: 1. 包含一個以上的元素 2. 僅有一個根元素 3. 所有的元素都有起始標籤與結束標籤 4. 空標籤必須遵守特殊的XML語法 5. 所有標籤必須呈巢狀結構 6. 英文字母大小寫有別
XML文件-範例 文件宣告 僅一個根元素 包含多個元素 所有的元素都有起始標籤與結束標籤 版本資訊 字碼宣告 獨立性 <?xml version=“1.0” econding=“Big=5” stahdalone=“yas”?> <書籍> <ISBN>957-01-8202-4</ISBN> <書名>XML標準與技術簡介</書名> <作者> <姓名>余顯強</姓名> <出版社>數位典藏訓練推廣分項計畫</出版社> <定價>200</定價> </書籍> 僅一個根元素 包含多個元素 所有的元素都有起始標籤與結束標籤
<書名>XML&qout;標準與技術簡介;&qout</書名> 呈現: 特殊字元 代替符號 & & > > < < “ &qout ‘ &apos XML: <書名>XML&qout;標準與技術簡介;&qout</書名> 呈現: XML “標準與技術簡介“
所有標籤必須呈巢狀結構 英文字母大小寫有別 錯誤: 正確: 錯誤: <Name> XML標準與技術簡介</name> <ISBN>957-01-8202-4<書名></ISBN>XML標準與技術簡介</書名> 正確: <ISBN>957-01-8202-4</ISBN><書名>XML標準與技術簡介</書名> 英文字母大小寫有別 錯誤: <Name> XML標準與技術簡介</name> 正確: <Name> XML標準與技術簡介</Name>
什麼是DTD? XML可根據其結構性蓋分為兩類: 1. 完好的(Well-Formed )XML文件 2. 有效的(Valid) XML文件 文件類型定義(Document Type Definition,簡稱DTD) ,主要用途在於定義文件中的元素型態、結構、範圍、順序等,用來驗證XML文件。
DTD實體的宣告 內部實體: 該實體之宣告與使用皆在XML文件中。 外部實體: 如同引用外部DTD般,在XML文件之外 引用一個獨立的檔案。
內部DTD語法 內部DTD語法如下: <!DOCTYPE element-name [ <!ELEMENT element-name element-definition > …………. ]> 1. <!DOCTYPE:開始宣告DTD 2. element-name:根元素名稱 3. [ 設定敘述的開始 4. <!ELEMENT…..關於元素設定的敘述 5. ]>:結束DTD宣告 開始宣告DTD 根元素名稱 開始元素設定 元素名稱 元素定義
內部DTD語法-範例 根元素 元素 子元素 PCDATA:Parse Character Data 可剖析的資料 <?xml version=“1.0” standalone=“yes”?> <!DOCTYPE NTNU [ <!ELEMENT NTNU (student)> <!ELEMENT student (id, name, birth)> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT birth (#PCDATA)> ]> <NTNU> <student> <id>097153000</id> <name>王小明</name> <birth>10/10/1985</birth> </student> </NTNU> 根元素 元素 子元素 PCDATA:Parse Character Data 可剖析的資料
外部DTD語法 外部DTD語法如下: <!DOCTYPE element-name SYSTEM DTD-URL> 1. <!DOCTYPE:開始宣告DTD 2. element-name:根元素名稱 3. SYSTEM:該DTD為私人所使用 4. DTD-URL:外部DTD檔案所在位址 5. >:結束DTD宣告 開始宣告DTD 根元素名稱 外部DTD所在位址
外部DTD語法-範例 根元素 外部所在位址 <?xml version=“1.0” standalone=“no”?> <!DOCTYPE NTNU SYSTEM “chap1-1.dtd“> <NTNU> <student> <id>097153000</id> <name>王小明</name> <birth>10/10/1985</birth> </student> </NTNU> 根元素 外部所在位址 獨立之chap1-1.dtd文件 <?xml version=“1.0” encording=“UTF-8”?> <!ELEMENT NTNU (student)> <!ELEMENT student (id, name, birth)> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT birth (#PCDATA)>
什麼是XML Schema? W3C在2001年5月2日通過的建議標準。 XML Schema定義(XML Schema)的縮寫為XSD。 目的:與DTD相同,都是定義XML文件結構的標準。
XML Schema的特性 本身就是一份well-formed的XML文件 支援更多XML元素的資料型態 XML Schema支援名稱空間(Namespace)
和DTD比較,XML Schema的優點: 使用標準的XML來定義整個XML Schema,不僅編輯容易,也能夠透過標準的剖析器來解析。 能明確的設定結構中的元素量,亦能宣告節點的內容為封閉式(僅能包含特定宣告的子元素),或是開放式(能夠包含任何子元素)的結構。 透過名稱空間(Namespace)的使用,能在相同的文件中載入多個XML Schemas。 能夠在XML Schema內定義原型(archetype),提供基本的繼承(inheritance)、封裝(encapsulation)等物件導向功能。
XML的應用方向 XML與電子出版 XML與電子商務 XML與圖書資訊組織與資料交換 XML (Topic Maps)在數位圖書館的應用
XML文件編輯工具(一) XML Spy http://www.altova.com/ (可有30天免費試用) 專門用來編輯XML的整合環境,可編輯XML、DTD、XSD、XSL,提供三種顯示方式,包括顯示原始碼、顯示表格和瀏覽器預覽,除了編輯XML,亦可檢查DTD/Schema的文件編輯與格式驗證、XSL的編輯與轉換。
XML文件編輯工具(二) Microsoft XML Notepad http://www.microsoft.com/downloads/details.aspx?FamilyID=72d6aa49-787d-4118-ba5f-4f30fe913628&DisplayLang=en (免費) 一種小而簡單XML編輯器,提供XML樹狀結構及條例式的輸入介面,讓使用者能快速地編輯XML文件,但需配合IE5.0以上來使用,才能剖析XML文件是否為well-formed。
XML文件編輯工具(三) XML writer http://xmlwriter.net/ (免費) 專門為撰寫XML、XSL、XQL的網頁設計師與網頁程式設計師所開發的軟體,可檢查錯誤的語法,如果有錯誤,會在Error Message中出現你哪一行出現錯誤,可將XML的格式轉換成HTML的格式,以方便IE瀏覽。
參考文獻 林信成(民88)。XML相關技術下一代Web出版趨勢之研究。教育資料與圖書館學,2,184-210。 陳昭珍(民91年)。檔案管理運用研討會論文。XML, Metadata與檔案資料數位化」。
Q & A