模塊三 XML的DTD實例4(t)_第1頁
模塊三 XML的DTD實例4(t)_第2頁
模塊三 XML的DTD實例4(t)_第3頁
模塊三 XML的DTD實例4(t)_第4頁
模塊三 XML的DTD實例4(t)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實體實體可以分為通用實體和參數(shù)實體。通用實體:用于XML文檔中,用于引用文本或者二進(jìn)制數(shù)據(jù)。參數(shù)實體:只能在DTD中使用。通用實體與參數(shù)實體可以是內(nèi)部實體或者是外部實體。內(nèi)部實體:與XML文檔存儲在一起;外部實體:存放在其它文件內(nèi),用URL引用實體還可以分為未解析實體與解析的實體。解析實體:可由XML解析器處理的實體,即由文本字符數(shù)據(jù)內(nèi)容構(gòu)成的實體,實質(zhì)是用較短的文本替代較長的文本的方法,修改較方便,解析實體可以在元素中引用。未解析實體:不能被XML解析器處理的實體,但是要提供給其他的應(yīng)用程序去處理。一般以二進(jìn)制形式存在,如圖片、音樂、WORD文檔等,未解析實體只能出現(xiàn)在屬性值中。XML常用到的5種實體形態(tài):

1、通用內(nèi)部解析實體

2、通用外部解析實體

3、通用外部未解析實體

4、參數(shù)內(nèi)部解析實體

5、參數(shù)外部解析實體實體—通用實體通用內(nèi)部解析實體通用內(nèi)部解析實體是最簡單最常用的實體,語法如下:<!ENTITY實體名“實體內(nèi)容”>注意:實體內(nèi)容為文本數(shù)據(jù)在xml文件中的引用方式為:&實體名;實例1:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗艦店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop></root>注意:在實體中可以嵌套實體,但是不能是兩個實體互相嵌套。下面正確的引用:<!ENTITYone“one”><!ENTITYtwo“&one;Iamtwo”>下面是不正確的引用:<!ENTITYone“Hello&two;”><!ENTITYtwo“Hello&one”>通用外部解析實體外部實體:實體引用值不是文本內(nèi)容,而是一個獨(dú)立的外部文件。外部實體格式如下:<!ENTITY實體名SYSTEMurl_uri>例:<!ENTITYbookfileSYSTEM/bookfile.xml>引用如下:<book>&bookfile;</book>通用外部解析實體實例2:otherSize.xml文件內(nèi)容如下:<?xmlversion="1.0"encoding="utf-8"?><option>bigtoo</option>DTD中引用otherSize.xml文件

<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗艦店"><!ENTITYmedium"中等"><!ENTITYsmall"小型"><!ENTITYotherSizeSYSTEM"otherSize.xml">]>通用外部解析實體<root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop><shop><name>聯(lián)華</name><address>文二路</address>

<size>&otherSize;</size></shop></root>通用外部解析實體在ie8中顯示的效果:實體—參數(shù)實體參數(shù)實體:只能在DTD中使用,其主要用途是簡化DTD的語法??煞譃閰?shù)內(nèi)部解析實體和參數(shù)外部解析實體。內(nèi)部實體:與XML文檔存儲在一起;外部實體:存放在其它文件內(nèi),用URL引用參數(shù)內(nèi)部解析實體參數(shù)內(nèi)部解析實體的聲明語法如下:<!ENTITY%實體名“實體內(nèi)容”>引用方式為:%實體名;作用:參數(shù)內(nèi)部解析實體相當(dāng)于DTD代碼段的聲明。實例3:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ENTITY%shopattr"<!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)>"><!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)>%shopattr;<!--使用參數(shù)實體替代--><!ENTITYbig"旗艦店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop></root>參數(shù)外部解析實體使用參數(shù)外部解析實體可以方便的組織分布在各個文件中的DTD文件。作用相當(dāng)?shù)拇?。它的聲明語法如下:<!ENTITY%實體名SYSTEMurl_uri>引用方式為:%實體名;參數(shù)外部解析實體實例4:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEROOT[<!ELEMENTROOT(A|B)*><!ENTITY%A_atrrSYSTEM"A.dtd"><!ENTITY%B_atrrSYSTEM"B.dtd">%A_atrr;%B_atrr;]><ROOT><A><NAME_A>IamA!</NAME_A></A><B><NAME_B>IamB;</NAME_B></B></ROOT>A.Dtd文件:<?xmlversion="1.0"encoding="utf-8"?><!ELEMENTA(NAME_A)><!ELEMENTNAME_A(#PCDATA)>B.Dtd文件:<?xmlversion="1.0"encoding="utf-8"?><!ELEMENTB(NAME_B)><!ELEMENTNAME_B(#PCDATA)>實體—通用外部未解析實體NOTATION類型NOTATION類型對于使用非XML格式的數(shù)據(jù)非常有用?,F(xiàn)實世界中存在很多無法或不易用XML格式組織的數(shù)據(jù),例如圖象、聲音、影象等等。對于這些數(shù)據(jù),XML應(yīng)用程序常常并不提供直接的應(yīng)用支持。通過為它們設(shè)定NOTATION類型的屬性,可以向應(yīng)用程序指定一個外部的處理程序

。NOTATION類型NOTATION類型:若一個屬性被定義為NOTATION類型,則允許該屬性的屬性值為一個DTD中聲明的符號。要使用NOTATION類型作為屬性的類型,首先要在DTD中為可選用的符號做出定義。符號定義的方式有兩種:一種是使用MIME類型,形式是:<!NOTATION符號名SYSTEM“MIME類型”>另一種是使用一個URL路徑。即外部程序所在路徑,直接指定某個外部程序負(fù)責(zé)處理XML文檔中的外部數(shù)據(jù)。形式是:

<!NOTATION符號名SYSTEM“URL路徑”>NOTATION類型MIME類型是設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴(kuò)展名文件被訪問的時候,瀏覽器會自動使用指定應(yīng)用程序來打開。每個MIME類型由兩部分組成,前面是數(shù)據(jù)的大類別,例如聲音audio、圖象image等,后面定義具體的種類。常見的MIME類型(通用型):NOTATION類型超文本標(biāo)記語言文本text/htmlxml文檔text/xmlPDF文檔application/pdfMicrosoftWord文件application/mswordPNG圖像image/pngGIF圖形image/gifJPEG圖形image/jpegMPEG文件video/mpegAVI文件

video/x-msvideoNOTATION類型符號通常有兩種用途:(1)屬性類型為NOTATION類型,符號可以作為該類屬性的屬性值。定義NOTATION類型的屬性時,語法如下:<!ATTLIST元素名屬性名NOTATION(值1|值2|...)默認(rèn)值>NOTATION類型例:<?xmlversion="1.0"encoding="GB2312"standalone="yes"?><!DOCTYPE文件[<!ELEMENT文件ANY><!ELEMENT電影(#PCDATA)><!ATTLIST電影演示設(shè)備NOTATION(mp|gif)#REQUIRED><!NOTATIONmpSYSTEM"movPlayer.exe"><!NOTATIONgifSYSTEM"Image/gif">]><文件><電影演示設(shè)備=“mp”>BIANXINGJINGANG</電影></文件>NOTATION類型符號通常有兩種用途:(2)符號可以用來定義未解析實體。該未解析實體可以作為ENTITY或ENTITIES屬性類型的屬性值。通用外部未解析實體通用外部未解析實體的格式:<!ENTITY實體名SYSTEM二進(jìn)制數(shù)據(jù)位置NDATA符號名稱><!NOTATION符號名SYSTEM“MIME類型或應(yīng)用程序的URL”>通用外部未解析實體只能用在元素屬性中,元素屬性必須為ENTITY類型或ENTITIES類型。定義方法如下:<!ATTLIST元素名屬性名ENTITY#REQUIRED>注意:ENTITY類型或ENTITIES類型的屬性提供把外部二進(jìn)制數(shù)據(jù)和外部不可解析實體鏈接到文檔中的能力。引用方法如下:<元素名屬性名=“實體名”>通用外部未解析實體<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpicEMPTY><!ATTLISTpicsourceENTITY#REQUIRED><!NOTATIONJPEGSYSTEM"acdsee.exe"><!ENTITYpic1SYSTEM"pic1.jpg"NDATAJPEG><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗艦店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size><picsource="pic1"/></shop></root>ENTITIES是ENTITY的復(fù)數(shù)形式。ENTITIES類型的屬性值是由空格分隔多個未解析的實體名稱組成的。每個實體名稱引用一個外部的非XML數(shù)據(jù)源。通用外部未解析實體<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpicEMPTY><!ATTLISTpicsourceENTITIES#REQUIRED><!NOTATIONJPEGSYSTEM"acdsee.exe"><!ENTITYpic1SYSTEM"pic1.jpg"NDATAJPEG><!ENTITYpic2SYSTEM"pic2.jpg"NDATAJPEG><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗艦店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size>

<picsource=“pic1pic2"/></shop></root>

溫馨提示

  • 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

提交評論