第四講實(shí)體的定義和使用_第1頁(yè)
第四講實(shí)體的定義和使用_第2頁(yè)
第四講實(shí)體的定義和使用_第3頁(yè)
第四講實(shí)體的定義和使用_第4頁(yè)
第四講實(shí)體的定義和使用_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第四講實(shí)體的定義和使用2023/5/6第1頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用本章要點(diǎn):什么是實(shí)體內(nèi)部實(shí)體的定義和使用外部實(shí)體的定義和使用內(nèi)部參數(shù)實(shí)體的定義和使用外部參數(shù)實(shí)體的定義和使用2023/5/6第2頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.1什么是實(shí)體概念:實(shí)體就是包含XML文檔片段的虛擬存儲(chǔ)單元,用來(lái)存儲(chǔ)XML聲明、DTD或各種元素的數(shù)據(jù),它是一個(gè)事先定義好的數(shù)據(jù)。通用實(shí)體(一般實(shí)體):用于載入數(shù)據(jù)到XML文檔的基本元素中。參數(shù)實(shí)體:用于載入數(shù)據(jù)到文檔的DTD中。2023/5/6第3頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用實(shí)體引用:在XML文檔中使用實(shí)體名字代替實(shí)體的具體內(nèi)容,組成一個(gè)結(jié)構(gòu)完整的文檔,這個(gè)過(guò)程稱為“實(shí)體的引用”。使用實(shí)體的好處:提高文檔的書(shū)寫效率,使文檔外觀簡(jiǎn)潔。若對(duì)文檔中多次出現(xiàn)的內(nèi)容進(jìn)行修改,只需修改實(shí)體定義部分即可。2023/5/6第4頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用按實(shí)體包含內(nèi)容分類:字符和數(shù)字實(shí)體:用于描述非ASCII字符。文本實(shí)體:包含一些在文檔中經(jīng)常出現(xiàn)的文本串或塊。二進(jìn)制實(shí)體:保存非文本數(shù)據(jù),如圖像、聲音等,是一種不可析實(shí)體。按實(shí)體存在形式分類:內(nèi)部實(shí)體:完全在文檔內(nèi)部定義的實(shí)體。外部實(shí)體:存在于一個(gè)外部獨(dú)立文件中的實(shí)體。2023/5/6第5頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.2內(nèi)部實(shí)體的定義和使用內(nèi)部實(shí)體在一個(gè)XML文檔的內(nèi)部定義,只能在該文檔內(nèi)部引用。就像子程序中的局部變量,只在該程序中生存,子程序退出,它也就是消亡。定義內(nèi)部實(shí)體的語(yǔ)法為:

<!ENTITYentity_name“entity_content”><!ENTITY:定義實(shí)體的指令,ENTITY為關(guān)鍵字,必須大寫。entity_name:定義實(shí)體的名字。entity_content:定義實(shí)體的具體內(nèi)容。在文檔中引用實(shí)體的語(yǔ)法為:&entity_name;2023/5/6第6頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用DTD中實(shí)體定義:2023/5/6第7頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用XML文檔中實(shí)體引用:2023/5/6第8頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用瀏覽器中運(yùn)行的結(jié)果:2023/5/6第9頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用可以在DTD中引用內(nèi)部實(shí)體:例如:<!ENTITYcollege“常州信息職業(yè)技術(shù)學(xué)院”><!ENTITYdepartment“&college;軟件分院”>2023/5/6第10頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用在DTD中引用內(nèi)部實(shí)體時(shí)需要注意的問(wèn)題:

(1)被引用的內(nèi)部實(shí)體的內(nèi)容只能是文檔內(nèi)容的一部分,或者說(shuō)是字符數(shù)據(jù),而不能包含置標(biāo)。

如:<!ENTITYcontent"(title,chapter)"><!ELEMENTbook&content;>

(2)在定義內(nèi)部實(shí)體時(shí)引用內(nèi)部實(shí)體,要注意不能形成循環(huán)引用。

如:<!ENTITYcollege"&province;”><!ENTITYprovince“江蘇省&college;">

(3)實(shí)體在DTD中只能被其他實(shí)體定義引用,不能被元素和屬性定義所引用。

2023/5/6第11頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.3外部實(shí)體的定義和使用

“外部實(shí)體”在文檔中必須通過(guò)URL才能定位,外部實(shí)體為獨(dú)立的文件,可以被多個(gè)文檔所引用,具有更為廣泛的共享性。XML通過(guò)對(duì)外部實(shí)體的引用,可以在一個(gè)XML文檔中嵌入另一個(gè)XML文檔,或者將多個(gè)文檔組合為一個(gè)文檔。2023/5/6第12頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用<!ENTITYentity_nameSYSTEM“entity_URL”><!ENTITY:定義實(shí)體的指令?!癊NTTTY”是關(guān)鍵字,必須大寫。entity_name:要定義的實(shí)體的名字。SYSTEM:定義外部實(shí)體的關(guān)鍵字。entity_URL:能夠找到該外部實(shí)體的URL地址。

定義外部實(shí)體的語(yǔ)法為:

文檔中引用外部實(shí)體的語(yǔ)法:

&entity_name;

2023/5/6第13頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用使用外部實(shí)體要注意的問(wèn)題:

(1)由于要引用外部文件,所以文檔聲明中standalone屬性的值不再是“yes”,而必須是“no”

。(2)作為外部實(shí)體的文檔,如果使用的是XML默認(rèn)字符集,如UTF-8,則可以沒(méi)有XML聲明;如果使用了默認(rèn)字符集以外的字符集,如“GB2312”字符集,則必須有XML聲明,且在聲明中說(shuō)明encoding屬性。2023/5/6第14頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.4內(nèi)部參數(shù)實(shí)體的定義和使用

內(nèi)部參數(shù)實(shí)體是指在獨(dú)立的外部DTD文檔的內(nèi)部定義的參數(shù)實(shí)體。2023/5/6第15頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用定義內(nèi)部參數(shù)實(shí)體的語(yǔ)法為:

<!ENTITY%entity_name“entity_content”><!ENTITY:定義實(shí)體的指令。“ENTITY”是關(guān)鍵字,必須大寫。

%表示定義的是內(nèi)部參數(shù)實(shí)體。

Entity_name為要定義的內(nèi)部參數(shù)實(shí)體的名字。Entity_content為要定義的內(nèi)部參數(shù)實(shí)體的具體內(nèi)容。

引用內(nèi)部參數(shù)實(shí)體的語(yǔ)法為:

%entity_name;2023/5/6第16頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用<!ELEMENT學(xué)生信息(姓名,性別,出生日期)>

<!ELEMENT教師信息(姓名,性別,出生日期)>

<!ELEMENT職工信息(姓名,性別,出生日期)>

內(nèi)部參數(shù)實(shí)體定義:<!ENTITY%個(gè)人信息

“(姓名,性別,出生日期)”>

內(nèi)部參數(shù)實(shí)體引用:<!ELEMENT教師信息%個(gè)人信息;><!ELEMENT職工信息%個(gè)人信息;><!ELEMENT學(xué)生信息%個(gè)人信息;>示例:2023/5/6第17頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用使用內(nèi)部參數(shù)實(shí)體需要注意的問(wèn)題是:(1)內(nèi)部參數(shù)實(shí)體必須先定義后引用。(2)在定義時(shí)“%”與實(shí)體名稱之間必須有空格隔開(kāi)。

2023/5/6第18頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.5外部參數(shù)實(shí)體的定義和使用

在獨(dú)立的外部DTD文檔中,可以引用其他獨(dú)立DTD文檔中的定義,這種引用通過(guò)外部參數(shù)實(shí)體來(lái)實(shí)現(xiàn)。

外部參數(shù)實(shí)體與外部一般實(shí)體的區(qū)別如下:外部參數(shù)實(shí)體應(yīng)用于獨(dú)立的DTD文檔,外部一般實(shí)體應(yīng)用于XML文檔。外部參數(shù)實(shí)體應(yīng)用于將多個(gè)獨(dú)立的DTD文檔組合為一個(gè)大的DTD文檔,外部一般實(shí)體用于將多個(gè)獨(dú)立的XML文檔組合成一個(gè)大的XML文檔。

2023/5/6第19頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用定義外部參數(shù)實(shí)體的語(yǔ)法為:

<!ENTITY%

entity_nameSYSTEM"entity_URL">

<!ENTYFY表示該語(yǔ)句為定義實(shí)體的指令?!癊NTITY”是關(guān)鍵字,必須大寫。

%表示定義的是外部參數(shù)實(shí)體。

entity_name為要定義的外部參數(shù)實(shí)體的名字。

SYSTEM為定義外部參數(shù)實(shí)體的關(guān)鍵字。

entity_URL為能夠找到該外部參數(shù)實(shí)體DTD的URL地址。

引用外部參數(shù)實(shí)體的語(yǔ)法為:

%entity_name;2023/5/6第20頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用基本信息:(ch4-5-1.dtd)2023/5/6第21頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用綜合信息:(ch4-5-2.dtd)2023/5/6第22頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用外部DTD文檔引用:(ch4-5.dtd)2023/5/6第23頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用使用外部參數(shù)實(shí)體需要注意以下幾點(diǎn)。

在外部DTD文檔中引用其他DTD文檔,注意不能造成遞歸引用。被引用的外部DTD文檔可以不是完整的DTD定義,但一般不提倡這樣。最好所有的DTD文檔都是一個(gè)完整的DTD定義。

每一個(gè)外部DTD文檔都必須有一個(gè)聲明,說(shuō)明文檔所使用的字符集。

2023/5/6第24頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用參數(shù)實(shí)體與一般實(shí)體的不同點(diǎn):

在定義參數(shù)實(shí)體時(shí),實(shí)體名前必須加一個(gè)“%”號(hào)。參數(shù)實(shí)體引用以“%”開(kāi)始,而不是一般實(shí)體引用的“&”。

參數(shù)實(shí)體的內(nèi)容不僅可以包含文本,還可以包含標(biāo)記。

參數(shù)實(shí)體只能應(yīng)用于DTD,而不能在文檔本體中引用。即參數(shù)實(shí)體只能用來(lái)構(gòu)成DTD的內(nèi)容,而不能構(gòu)成文檔內(nèi)容。參數(shù)實(shí)體只能在外部DTD文檔中使用,無(wú)法應(yīng)用于內(nèi)部DTD。

2023/5/6第25頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.6INCLUDE與IGNORE使用INCLUDE與IGNORE標(biāo)記的語(yǔ)法為:

<![INCLUDE[完整的DTD定義]]>

<![IGNORE[完整的DTD定義]]>

INCLUDE:需要加入的DTD;IGNORE:需要去除的DTD2023/5/6第26頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用使用INCLUDE與IGNORE需要注意的問(wèn)題:(1)INCLUDE和IGNORE中包含的DTD定義必須是完整的用尖括號(hào)括起來(lái)的定義,而不能是完整定義中的一部分。(2)INCLUDE和IGNORE只能在DTD中使用。2023/5/6第27頁(yè),共30頁(yè),2023年,2月20日,星期三第四講實(shí)體的定義和使用4.7外部非解析實(shí)體定義外部非解析實(shí)體的語(yǔ)法:<!ENTITY實(shí)體名SYSTEM“URL”NDATA格式名>NOTATION聲明語(yǔ)法:

<!NOTATION格式名SYSTEM/PUBLIC應(yīng)用處理程序>引用方法:<IMGPIC=“

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論