實體的定義和使用課件_第1頁
實體的定義和使用課件_第2頁
實體的定義和使用課件_第3頁
實體的定義和使用課件_第4頁
實體的定義和使用課件_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實體的定義和使用第四章 實體的定義和使用主講人:楊春蓉 實體的定義和使用v 什么是實體什么是實體v 內(nèi)部實體的定義和使用內(nèi)部實體的定義和使用v 外部實體的定義和使用外部實體的定義和使用v 內(nèi)部參數(shù)實體的定義和使用內(nèi)部參數(shù)實體的定義和使用v 外部參數(shù)實體的定義和使用外部參數(shù)實體的定義和使用本章要點:本章要點:第四章第四章 實體的定義和使用實體的定義和使用 實體的定義和使用 一個簡單的XML文檔可以從許多不同的資源和文件中取得數(shù)據(jù)和聲明。實際上,有些數(shù)據(jù)直接來自數(shù)據(jù)庫、CGI(Common Gateway Interface,公共網(wǎng)關(guān)接口)腳本或其他非文件格式資源。無論采取形式,保存XML文檔的內(nèi)

2、容可以稱為實體。實體引用把實體載入到XML主文檔中。 實體的定義和使用v什么是實體 1 、實體的概念、實體的概念; 在在DTD的聲明當(dāng)中,另一項常見的聲明就是實體(的聲明當(dāng)中,另一項常見的聲明就是實體(ENTITY)的聲明。)的聲明。 實體實體就是包含了文檔片段或者說部分內(nèi)容的虛就是包含了文檔片段或者說部分內(nèi)容的虛擬存儲單元,用來存儲擬存儲單元,用來存儲XML聲明、聲明、DTD各種元素或各種元素或者其他形式的文本和二進(jìn)制數(shù)據(jù)。簡單的來說,實者其他形式的文本和二進(jìn)制數(shù)據(jù)。簡單的來說,實體是一個事先定義好的數(shù)據(jù),當(dāng)要取用該數(shù)據(jù)時,體是一個事先定義好的數(shù)據(jù),當(dāng)要取用該數(shù)據(jù)時,只要使用只要使用“引用方

3、式引用方式”便可以將數(shù)據(jù)放入引用之處便可以將數(shù)據(jù)放入引用之處。 實體的定義和使用 #define 3.1415926請看下面的例子:請看下面的例子:dtdFile.dtd: 實體的定義和使用 我正在看我正在看&CCTV;上的節(jié)目上的節(jié)目, 喜歡喜歡&CCTV5;。 &hello;&CCTV; Cha3_15.xml 實體的定義和使用實體的引用:實體的引用: 每個實體都有一個名字,在每個實體都有一個名字,在XML文檔文檔中可以使用這個名字來代替實體的具體內(nèi)中可以使用這個名字來代替實體的具體內(nèi)容,這個過程稱為容,這個過程稱為“實體的引用實體的引用”。 實體的定義和使用2 、為什么使用實體?(好處)

4、、為什么使用實體?(好處)v修改數(shù)據(jù)更方便快捷,一改全改;修改數(shù)據(jù)更方便快捷,一改全改;v可以共享和重復(fù)使用數(shù)據(jù);可以共享和重復(fù)使用數(shù)據(jù);v簡化程序;簡化程序; 實體的定義和使用3 、實體的分類:、實體的分類: 實體的定義和使用 實體的定義和使用4 、普通實體的分類:、普通實體的分類:v從外觀上:小到一個簡單的字符從外觀上:小到一個簡單的字符,大到可以是一大到可以是一個完整的個完整的XML文檔文檔.v從實體所包含的內(nèi)容分類從實體所包含的內(nèi)容分類,可分成以下幾種可分成以下幾種:字符和數(shù)字實體字符和數(shù)字實體,用于描述非用于描述非ASCII字符字符.文本實體文本實體,一般包含一些在文檔中經(jīng)常出現(xiàn)的文

5、一般包含一些在文檔中經(jīng)常出現(xiàn)的文本串或塊本串或塊.二進(jìn)制實體二進(jìn)制實體,保存非文本數(shù)據(jù),如圖像保存非文本數(shù)據(jù),如圖像,聲音等聲音等.可解析實可解析實體體不可解析實體不可解析實體 實體的定義和使用v內(nèi)部實體:內(nèi)部實體:就是就是實體的內(nèi)容實體的內(nèi)容已經(jīng)包含已經(jīng)包含在在DTD文文 件本身件本身中;(只能在當(dāng)前文檔中引用)。中;(只能在當(dāng)前文檔中引用)。v外部實體:外部實體:指指實體的內(nèi)容實體的內(nèi)容是是DTD文件以外文件以外 的其他的其他獨(dú)立的獨(dú)立的文件。文件。在文檔中必須通過在文檔中必須通過 URL才能定位的才能定位的 實體,實體,(可以被多個文(可以被多個文 檔所引用)。檔所引用)。按照實體的存在

6、形式分類,有如下兩種實體按照實體的存在形式分類,有如下兩種實體: 實體的定義和使用!DOCTYPE root 我正在看我正在看&CCTV;上的節(jié)目上的節(jié)目, 喜歡喜歡&CCTV5;。 &hello;&CCTV; 實體的定義和使用外部實體的定義和使用:!DOCTYPE 學(xué)生信息學(xué)生信息 & department;& xinguan1; & xinguan2; & xinguan3; 實體的定義和使用二、內(nèi)部實體的定義和使用二、內(nèi)部實體的定義和使用:在在DTD中,中,定義內(nèi)部實體的格式是:定義內(nèi)部實體的格式是:!ENTITY表示該語句為定義實體的指令。表示該語句為定義實體的指令?!癊NTITY”是

7、關(guān)鍵字,必須大寫。是關(guān)鍵字,必須大寫。entity_name為要定義的實體的名字。為要定義的實體的名字。entitycontent為要定義實體的具體內(nèi)容為要定義實體的具體內(nèi)容.例如例如:在文檔中引用實體的語法為在文檔中引用實體的語法為:& entity_name;例如例如:& hello ; 參照例題參照例題15: 實體的定義和使用(1)實體的內(nèi)容中的文本數(shù)據(jù)不要含有左尖括實體的內(nèi)容中的文本數(shù)據(jù)不要含有左尖括號號“”、與符號、與符號“” 、單引、單引號號“”“”和雙引號和雙引號XML對對DTD進(jìn)行語法分析時進(jìn)行語法分析時,會出現(xiàn)錯誤,會出現(xiàn)錯誤.應(yīng)當(dāng)使用預(yù)定義實體引用來使用這應(yīng)當(dāng)使用預(yù)定義實體

8、引用來使用這些字符些字符.例如例如:在在DTD中引用內(nèi)部實體時需要注意以下幾個方面的中引用內(nèi)部實體時需要注意以下幾個方面的問題:問題: 實體的定義和使用(2)在定義內(nèi)部實體時引用內(nèi)部實體,要注意不能形在定義內(nèi)部實體時引用內(nèi)部實體,要注意不能形 成循環(huán)引用。如下定義是非法的:成循環(huán)引用。如下定義是非法的: ”(3)實體在實體在DTD中只能被其他實體定義引用,不能被中只能被其他實體定義引用,不能被 元素和屬性定義所引用。元素和屬性定義所引用。 實體的定義和使用三、外部實體的定義和使用: 外部實體是指實體的內(nèi)容是DTD文件以外的其它文件。外部實體的格式分為兩種:(1)含義: SYSTEM格式: 實體

9、是一個外部文件,該外部文件由個人或工作小組所定義且認(rèn)可; PUBLICPUBLIC格式:格式:實體是一個外部文件,該外部文件由已經(jīng)得到某一領(lǐng)域的認(rèn)可,是經(jīng)過許多人討論得到認(rèn)可的文件。 實體的定義和使用(2)定義格式:)定義格式:定義外部實體的語法為:定義外部實體的語法為: !ENTITY entity_name ”entityURL” !ENTITY表示該語句為定義實體的指令?!癊NTITY”是關(guān)鍵 字,必須大寫。 entity_name為要定義的實體的名字。 SYSTEM為定義外部實體的關(guān)鍵字。entityURL為能夠找到該外部實體的URL地址。在文檔中引用外部實體的語法與引用內(nèi)部實體的語法

10、一樣,如:& entity_name;& entity_name; 實體的定義和使用(2)定義格式:)定義格式: !ENTITY entity_name ”entityURL”dtdFile.dtd 實體的定義和使用Cha3_16.xml 這是一個java文件:&java; 這是一個txt文件: &txt; ” 實體的定義和使用三、外部實體的定義和使用:使用外部實體要注意如下兩個方面的問題:(1 1)由于要 引用外部文件,所以文檔聲明中standalone屬性的值必須是”no”;(2)作為外部實體的文檔,如果使用的是XML默認(rèn)字符集,如UNICODE或UTF-8,則可以沒有XML聲明:如果使用

11、了默認(rèn)字符集以外的字符集,如“GB2312”字符集,則必須有XML聲明,且在聲明 中說明encoding屬性。 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用: 參數(shù)實體在DTD文件中定義。只能由DTD文件本身通過實體引用使用參數(shù)實體,和關(guān)聯(lián)的XML無關(guān)。 為什么用參數(shù)實體?使用參數(shù)實體不僅可以方便DTD文件的編寫,而且有利于DTD文件的維護(hù)。假如準(zhǔn)備約束XML文件中的若干標(biāo)記都有完全相同的子標(biāo)記,比如如下元素: 全都修改為形如: 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用:假如我們事先聲名了參數(shù)實體及其引用: 那么,只要將node引用的實體“(性別,年齡)”修改為“(sex,age,bort

12、h)”即可。 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用 內(nèi)部參數(shù)實體:內(nèi)部參數(shù)實體: 就是就是實體的內(nèi)容實體的內(nèi)容已經(jīng)包含已經(jīng)包含在獨(dú)立的(在獨(dú)立的(外部的)外部的)DTDDTD文文 件本身件本身中;(只能在當(dāng)中;(只能在當(dāng)前文檔中引用)。前文檔中引用)。 外部參數(shù)實體:外部參數(shù)實體: 指指實體的內(nèi)容實體的內(nèi)容是是其它的其它的獨(dú)立(外部的獨(dú)立(外部的 )DTDDTD文件。文件。在文檔中必須通過在文檔中必須通過 URLURL才才能定位的能定位的 實體,實體,(可以被多個文檔所引(可以被多個文檔所引用)。用)。 實體的定義和使用內(nèi)部參數(shù)實體:內(nèi)部參數(shù)實體:dtddtd 實體的定義和使用內(nèi)部參數(shù)

13、實體:內(nèi)部參數(shù)實體:Cha3_17.xmlCha3_17.xml 2003年 100臺 2005年 580部 實體的定義和使用外部參數(shù)實體:外部參數(shù)實體: 李兵兵 男 19701018 林秀秀 女 1972i018 學(xué)生信息) 胡琳 女 19851018 實體的定義和使用外部參數(shù)實體:外部參數(shù)實體:例45所引用的文檔(ch45-1dtd)內(nèi)容如下:基本信息;綜合信息;上述實例所引用的文檔(ch452dtd)內(nèi)容如下: 實體的定義和使用 外部參數(shù)實體的使用實例:上述實例所引用的文檔(ch453dtd)內(nèi)容如下: 實體的定義和使用參數(shù)實體與一般實體有如下不同:(1)(1)在定義參數(shù)實體時,實體名前

14、必須加一個在定義參數(shù)實體時,實體名前必須加一個“”號號, ,注意兩者注意兩者之間要有空格。之間要有空格。 (2)(2)參數(shù)實體引用以參數(shù)實體引用以開始,而不是一般實體引用的開始,而不是一般實體引用的“”。(3 3)參數(shù)實體的內(nèi)容不僅可以包含文本,還可以包含標(biāo)記。)參數(shù)實體的內(nèi)容不僅可以包含文本,還可以包含標(biāo)記。 (4)(4)參數(shù)實體只能應(yīng)用于參數(shù)實體只能應(yīng)用于 DTD DTD ,而不能在,而不能在XMLXML文檔本體中引文檔本體中引用。即參數(shù)實體只能用來構(gòu)成用。即參數(shù)實體只能用來構(gòu)成DTDDTD的內(nèi)容,而不能構(gòu)成文檔的內(nèi)容,而不能構(gòu)成文檔內(nèi)容。內(nèi)容。 (5)(5)參數(shù)實體只能在外部參數(shù)實體只能

15、在外部DTDDTD文檔中使用,無法應(yīng)用于內(nèi)部文檔中使用,無法應(yīng)用于內(nèi)部DTDDTD。 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用定義內(nèi)部參數(shù)實體的語法為:定義內(nèi)部參數(shù)實體的語法為: !ENTITY ”entity_content” !ENTITY表示該語句為定義實體的指令。 ENTITY是關(guān)鍵字,必須大寫。表示定義的是內(nèi)部參數(shù)實體。entity_name為要定義的內(nèi)部參數(shù)實體的名字。entity_content為要定義的內(nèi)部參數(shù)實體的具體內(nèi)容。 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用 引用內(nèi)部參數(shù)實體的語法為:引用內(nèi)部參數(shù)實體的語法為: entity_nameentity_name;d

16、tdFile.dtd 實體的定義和使用四、內(nèi)部參數(shù)實體的定義和使用Cha3_17.xmlCha3_17.xml 2003年 100臺 2005年 580部 實體的定義和使用外部參數(shù)實體的定義和使用:外部參數(shù)實體: 在獨(dú)立的外部DTD文檔中,可以引用其他獨(dú)立DTD文檔中的定義,這種引用就是通過外部參數(shù)實體來實現(xiàn)的。這個過程與XML文檔通過外部一般實體引用其他XML文檔內(nèi)容的過程十分相似。外部參數(shù)實體與外部一般實體的作用十分相似,其區(qū)別如下。 (1)外部參數(shù)實體應(yīng)用于獨(dú)立的DTD文檔,外部一般實體應(yīng)用于XML文檔。 (2)外部參數(shù)實體應(yīng)用于將多個獨(dú)立的DTD文檔組合為一個大的DTD文檔,外部一般實

17、體用于將多個獨(dú)立的XML文檔組合成一個大的XML文檔。 實體的定義和使用外部參數(shù)實體的定義和使用:對于較復(fù)雜的應(yīng)用,其DTD一般也是相當(dāng)?shù)凝嫶?。這時候往往會按照DTD的內(nèi)容或邏輯結(jié)構(gòu)將其分為幾個較小的、獨(dú)立的DTD文檔,再使用外部參數(shù)實體將其連接為一個完整的DTD文檔。 定義外部參數(shù)實體的語法為:!ENTITY “entity_URL” 實體的定義和使用外部參數(shù)實體的定義和使用:!ENTITY表示該語句為定義實體的指令?!癊NTITY”是關(guān)鍵字,必須大寫。表示定義的是外部參數(shù)實體。entity name為要定義的外部參數(shù)實體的名字。SYSTEM為定義外部參數(shù)實體的關(guān)鍵字。entity URL為能夠找到該外部參數(shù)實體DTD的URL地址。引用外部參數(shù)實體的語法與引用內(nèi)部參數(shù)實體的語法完全一致: entity_name; 實體的定義和使用 外部參數(shù)實體的使用實例: 李兵兵 男 19701018 林秀秀 女 1972i018 學(xué)生信息) 胡琳 女 19851018 實體的定義和使用 外部參數(shù)實體的使用實例:例45所引用的文檔(ch45-1dtd)內(nèi)容如下:基本信息;綜合信息;上述實例所引用的文檔

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論