第 4 章 DTD文件的建立.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

數位典藏聯合目錄計畫 執行經驗談 主講人:范紀文.
以XML可延伸式標注語言建立文章標誌系統研究- 以蘇軾詩為範圍
10-1 資料庫管理系統簡介 10-2 關聯式資料模式和查詢語言 10-3 Access 簡介 10-4 XML 簡介
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
通訊科技教育改進計畫 「網路應用與服務組」 行動電子商務課程 XML之簡介.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
第三章 XML DTD 設計 何謂DTD DTD基本語法 條件段 使用外部DTD.
第二章 XML基本語法 XML文件的基本結構 XML文件的基本語法規則 Well-Formed XML文件 XML Parser
DreamWeaver MX (II) 林偉川.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
第1章 認識Arduino.
列舉(enum).
應用軟體 本節重點: 應用軟體簡介 Word Excel PowerPoint 資料庫Acess.
1. 檔案File  開新New  檔案Empty File (再另存新檔D:\hello.c)
Schema 與DTD的比較 XML Schema 的特性 XML 資料型態 XML Schema 屬性宣告
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
Word與PowerPoint的結合 建功國小 陳旻杰 健行國小 張慧如.
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
XML Scheam 也是用來驗證XML文件的驗證語法.
檔案與磁碟的基本介紹.
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
EBSCOhost App應用程式 安裝方式.
Java 程式設計 講師:FrankLin.
Fortran 程式語言 之 編與譯(二) 張基昇.
|12 結構與列舉型態.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
第一單元 建立java 程式.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
此簡報可能會牽涉到聽眾的討論活動,也就是所謂的執行項目。因此在進行簡報時﹐可充份利用 PowerPoint 來記錄這些執行項目:
<title> XML與XQuery ,新一代資料儲存標準 </title>
UpToDate Anywhere 設定方法
第 19 章 XML記憶體執行模式.
张孝祥IT课堂 -深入体验Java Web开发内幕
雲端計算.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
挑戰C++程式語言 ──第8章 進一步談字元與字串
如何使用Gene Ontology 網址:
HTML基本語法及文字 靜宜大學 資管系 楊子青.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
第 2 章 XML基本語法.
MicroSim pspice.
第 6 章 XLink、XBase與XPointer
利用 EditorConfig 自訂文字編輯器設定
肆-2情緒宣洩的方法 (使用滑鼠左鍵將字拖曳至正確圖底下)
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
Text To Speech (TTS, 文字轉 語音)、讀簡訊 靜宜大學資管系 楊子青
陣列與結構.
第 4 章 認識 SQL 語言與資料型別.
第 5 章 XML Schema文件.
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
資料表示方法 資料儲存單位.
單元1-3: XML基本語法與結構 王豐緒 銘傳大學資訊工程學系.
清單的CSS樣式.
Cloud Training Material- 事件 Sherman Wang
電子郵件簡報.
Programming & Language Telling the computer what to do
多國語系 建國科技大學 資管系 饒瑞佶.
HTML基本語法及文字 靜宜大學 資管系 楊子青.
Zotero_搞定中文、英文格式 中臺圖書館.
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
西南科技大学网络教育系列课程 动态网页设计(JSP) 补充 JSP操作XML文件.
InputStreamReader Console Scanner
Presentation transcript:

第 4 章 DTD文件的建立

XML文件的驗證 XML文件的兩大原則 - 符合規格(well-formed)、可驗證(valid) 符合規格:意即XML文件內容,符合W3C的XML文件標準,這也就是第2章的主要內容。 可驗證:符合結構要求的文件稱為可驗證,亦可稱為正確合法的XML文件。 這些XML文件將被規範必須存在哪些元素,元素又由哪些元素所排列、組合而成,以及組成元素的個數…等。

XML文件的驗證 所謂XML文件的結構,包含了以下幾個重點: 元素的名稱 各元素的排列順序 元素必須包含或可包含的子元素 描述元素的屬性與屬性值 元素的個數 元素的資料類型

XML文件的驗證 目前建立驗證文件的方式有兩種: DTD(Document Type Definition,譯為文件類型宣告) XML Schema

XML文件的驗證 對於驗證文件置於XML文件內的驗證文件,稱之為內部驗證文件。 若驗證文件獨立於XML文件,則稱之為外部驗證文件。 對於一份附帶有以DTD或XML Schema所撰寫之驗證文件,且文件本身符合驗證規則的XML文件,稱之為Validated XML文件(可驗證的XML文件)。

DTD的基本觀念 - DTD文件的架構 文件的第3列至第12列,為驗證XML文件的DTD文件 第15列至第30列,為XML文件的內容。

DTD的基本觀念 - DTD文件的架構 驗證XML文件的DTD文件,定義語法為: <!DOCTYPE 文件元素名稱 [ DTD規則 …… ]>

DTD的基本觀念 - 執行文件的驗證 下載驗證工具的網址為『http://www.microsoft.com/ downloads/details.aspx?FamilyId=D23C1D2C-1571-4D61-BDA8-ADF9F6849DF9&displaylang=en』。

DTD的基本觀念 - 執行文件的驗證

DTD的基本觀念 - 執行文件的驗證

DTD的基本觀念 - 外部、內部DTD文件 外部DTD文件的第1列與一般XML文件一樣,但必須加上如下所述的XML文件宣告。 <?xml version="版本" encoding="編碼方式" standalone="是否為獨立文件"?> 在XML文件內,則透過以下的語法宣告,引用外部DTD文件。 <!DOCTYPE 文件元素名稱 SYSTEM | PUBLIC "外部DTD文件的URI">

DTD的基本觀念 - 外部、內部DTD文件 以下章節將以bookdtd.dtd說明DTD的宣告語法。 以下為bookch4.xml,在第3列將運用『<!DOCTYPE…>』引用外部DTD文件。

元素宣告 - 元素宣告的基本語法 定義XML文件內的元素時,需使用ELEMENET標籤,語法如下: <!ELEMENT 元素名稱 內容模型>

元素宣告 - 一般元素的宣告 運用ELEMENT標籤宣告一般元素的語法時,將以括號『( )』標示元素的內容模型宣告。 語法如下:

元素宣告 - 一般元素的宣告 文字元素的宣告:若元素內容僅包含需解析文字,宣告內容模型時,僅需使用#PCDATA關鍵字即可。以下敘述將宣告title元素,為僅含解析文字的文字元素。

元素宣告 - 一般元素的宣告 巢狀元素的宣告:透過DTD宣告包含子元素的巢狀元素時,可以透過結構符號定義所包含子元素的排列順序及個數。以下為宣告巢狀元素時,可用於建立內容模型的結構符號。

元素宣告 - 一般元素的宣告 空元素:在DTD的元素定義中,宣告空元素時,需使用EMPTY關鍵字。 <!ELEMENT 元素名稱 EMPTY> 以下敘述將宣告major_in元素,是一個空元素。 <!ELEMENT major_in EMPTY>

元素宣告 - 一般元素的宣告 不限制內容的元素:對於一些結構複雜找不到規則的元素,則僅能以ANY關鍵字,宣告不限制該元素的內容。語法如下: <!ELEMENT 元素名稱 ANY> 所謂的不限制內容,包含以下3種含意: 該元素可包含任何在DTD文件中,宣告的元素。 元素所包含的子元素,其出現順序、次數均不受限制 元素中可出現需解析文字(#PCDATA),且可與子元素交錯出現

實體的宣告 - 什麼是實體 所謂的實體(Entity)就是事先完成宣告或定義的資料,在XML文件中,可以透過引用的方式,將實體所代表的資料插入文件內文。

實體的宣告 - 內部實體與外部實體 XML文件宣告的實體,被稱為內部實體,宣告語法如下: <!ENTITY 實體名稱 實體內容> 以下敘述將定義publisher實體的內容為『文魁資訊』。 XML文件內引用實體的語法如下: &實體名稱; 以下敘述將在publish_by元素內,引用publisher實體。

實體的宣告 - 內部實體與外部實體 外部實體:將內容儲存在XML文件之外其他檔案的實體,稱之為外部實體。 <!ENTITY 實體名稱 SYSTEM|PUBLIC 實體檔案的URI>

實體的宣告 - 內部實體與外部實體 外部實體:將內容儲存在XML文件之外其他檔案的實體,稱之為外部實體。 <!ENTITY 實體名稱 SYSTEM|PUBLIC 實體檔案的URI> 在XML文件內引用外部實體的語法,與內部實體並無不同,如下述: &實體名稱;

實體的宣告 - 內部實體與外部實體 以下敘述將宣告e_mail實體,引用儲存於kings.txt檔的實體內容。

實體的宣告 - 可解析實體與不可解析實體 依照實體的儲存位置,將實體區分為內部實體與外部實體。 依照實體的內容是否可被剖析器解析,則可分為可解析(parsed)實體與不可解析(unparsed)實體。 XML剖析器無法解析不可解析實體,定義時,必須運用NOTATION標籤,宣告可解讀該檔案的應用程式。語法如下: <!NOTATION 格式 SYSTEM|PUBLIC 應用程式的URI> <!ENTITY 實體名稱 SYSTEM|PUBLIC 檔案的URI 格式>

實體的宣告 - 可解析實體與不可解析實體 以下敘述將定義A2002P_outline為不可解析實體,引用之檔案的名稱為A2002P.doc,檔案類型為doc,編輯檔案的應用程式,其位置與名稱為“C:\Program Files\Microsoft Office\Office\WinWord.exe”。

實體的宣告 - 參數型實體參考 參數實體參考的宣告與使用均限於外部DTD,在使用上,除與一般實體參考相同地,可用於其他實體的宣告外,還可用於元素的宣告。 參數實體參考的宣告語法與一般實體參考相同,僅增加『%』符號,語法如下: <!ENTITY % 實體名稱 實體內容>

實體的宣告 - 參數型實體參考 參數實體參考的宣告與使用均限於外部DTD,在使用上,除與一般實體參考相同地,可用於其他實體的宣告外,還可用於元素的宣告。 參數實體參考的宣告語法與一般實體參考相同,僅增加『%』符號,語法如下: <!ENTITY % 實體名稱 實體內容> 以下敘述將宣告TEXT為代替『(#PCDATA)』的參數型實體參考,並運用於元素型態的宣告。

屬性宣告 - 屬性宣告的語法 對於元素的屬性,DTD的宣告語法如下: <!ATTLIST 元素名稱 屬性名稱 屬性值型態 內定值>

屬性宣告 - 屬性值型態 列舉: 以列舉方式設定屬性的設定值時,將限定屬性可設定的值。設定語法如下: (屬性值1, 屬性值2, …) 以下敘述將定義book元素的sale屬性值,可被設定為『Y』、『N』。

屬性宣告 - 屬性值型態 CDATA: CDATA的原文為Character Data,也就是一般文字的意思。以下敘述將宣告book元素publisher屬性,其屬性值的型態為CDATA。

屬性宣告 - 屬性值型態 或者在編號前加上英文,如下述的id屬性。 ID:代表此屬性值在XML文件內的每個設定值,都必須為不可重複的唯一值。以下敘述將宣告book元素isbn屬性的型態為ID。 由於ID類型的屬性值,必須符合XML名稱(XML name,2-1-3節)的要求,屬性值的第1個字元,不可以是數字。故設定此類屬性值時,變通的方法是在編號前加上底線『_』,如下述的isbn屬性。 或者在編號前加上英文,如下述的id屬性。

屬性宣告 - 屬性值型態 IDRF: IDRF的意義為ID Reference(參考至ID類型的資料),屬性值類型為IDRF的屬性,將參照到同一份XML文件內,屬性值型態為ID之其他屬性。以下敘述將定義publish_by元素pid屬性之屬性值為IDRF。

屬性宣告 - 屬性值型態 IDRFS: 屬性值類型IDRFS的屬性,將參考至XML文件內,數個屬性值類型為ID的屬性。設定時,所參照的屬性值將以空白隔開。以下敘述將定義book元素author屬性的資料類型為IDRFS。

屬性宣告 - 屬性值型態 NMTOKEN、NMTOKENS: 屬性值型態符合XML名稱記號(XML name token)規則的屬性,宣告時,必須使用NMTOKEN宣告。若屬性值為數個以空白隔開的NMTOKEN,則型態需宣告為NMTOKENS。所謂符合XML名稱記號要求的字串,其內容將由『英文字母』、『數字』、『-』、『_』、『.』與『:』組成。 以下敘述將宣告屬性型態為NMTOKEN。 以下敘述則宣告屬性型態為NMTOKENS。

屬性宣告 - 屬性值型態 NOTATION: 4-4-3節介紹了如何定義剖析器無法剖析的資料,並利用NOTATION標籤,定義資料的格式類型與可讀取資料的應用軟體。若屬性值的內容為利用NOTATION宣告的資料類型時,需將型態宣告為NOTATION。 以下敘述將定義outline元素application屬性的型態為NOTATION。

屬性宣告 - 屬性值型態 ENTITY、ENTITIES: 屬性值類型為ENTITY的屬性,其屬性值將為DTD所定義的實體。若類型為ENTITIES,則屬性值將參考至數個實體,每個實體將以空白隔開。在XML標準中,宣告此類型的屬性,必須使用ENTITY與ENTITIES。 以下敘述,將宣告author元素name屬性的類型為ENTITY。 以下敘述將宣告publisher元素service屬性的類型為ENTITIES。

屬性宣告 - 屬性的內定值 特定值: 若屬性的預設值為某特定值時,只要在宣告屬性時,在屬性的型態後,運用引號(“)標示預設值即可。當元素未設定此值時,剖析器將自動填上此屬性值。 以下敘述將設定author元素name屬性的預設值為『郭尚君』。 以下敘述則設定book元素sale屬性的值,將為『Y』或『N』,預設值為『Y』。

屬性宣告 - 屬性的內定值 #FIXED: 定義屬性必須設定,且為固定值。設定時,需在屬性值型態後,使用『#FIXED』關鍵字,並運用引號(")標示固定值,語法如下: <!ATTLIST 元素名稱 屬性名稱 屬性值型態 #FIXED 固定值> 以下敘述,將定義author元素penname屬性的值為固定值 – 位元文化。

屬性宣告 - 屬性的內定值 #IMPLIED: 不強制屬性是否被設定,欲宣告此型態屬性時,請運用『#IMPLIED』關鍵字。 以下敘述,將定義author元素的E-Mail屬性可設定,也可不設定。

屬性宣告 - 屬性的內定值 #REQUIRED: 設定屬性必須設定值,若未設定將產生錯誤。設定時,僅需在屬性型態的宣告後,運用『#REQUIRED』關鍵字。 以下敘述,將定義publisher元素的name屬性一定要設定。

屬性宣告 - 內定屬性 xml:lang: xmk:lang屬性用於標示該元素內容所採用的語言。透過xml:lang,應用軟體可以得知元素所採用的語言,協助應用軟體處理元素內容,如:在XML文件搜尋英文字串時,便可略過內容為中文的元素。 相信有不少人看到xml:lang會聯想到XML文件宣告的encoding屬性。encoding屬性用於指定XML文件使用的編碼系統,這可不代表文件內容使用的語言。 在DTD文件內定義元素xml:lang屬性時,屬性值型態一般設定為NMTOKEN,語法如下: <!ATTLIST 元素名稱 xml:lang NMTOKEN 內定值>

屬性宣告 - 內定屬性 以下敘述將宣告xml:lang屬性的型態為NMTOKEN,預設值為華語(zh)。

屬性宣告 - 內定屬性 xml:space: xml:space屬性用於定義應用程式如何處理空白字元,處理方式有兩種: 一為以剖析器的預設方式處理,屬性設定值為default。 二為將空白字元保留,交給應用程式處理,屬性設定值為preserve。