第04講-使用DTD聲明XML屬性課件_第1頁(yè)
第04講-使用DTD聲明XML屬性課件_第2頁(yè)
第04講-使用DTD聲明XML屬性課件_第3頁(yè)
第04講-使用DTD聲明XML屬性課件_第4頁(yè)
第04講-使用DTD聲明XML屬性課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.Net教研室XML第04講使用DTD定義XML屬性主講:郭永洪E-mail:yh_guo@126.com2023/7/22目標(biāo)知識(shí)目標(biāo)DTD中定義XML元素屬性的默認(rèn)值和屬性類型的方法能力目標(biāo)學(xué)會(huì)使用DTD定義XML元素屬性默認(rèn)值學(xué)會(huì)使用DTD定義XML元素屬性數(shù)據(jù)類型2023/7/22任務(wù)任務(wù)1:使用DTD設(shè)置XML元素屬性默認(rèn)值任務(wù)2:使用DTD設(shè)置XML元素屬性類型2023/7/22DTD屬性聲明語(yǔ)法<!ATTLIST元素名屬性名

屬性類型

默認(rèn)值>ATTLIST表示該指令為定義屬性的指令。ATTLIST為關(guān)鍵字,必須大寫。2023/7/22案例2023/7/22訓(xùn)練學(xué)生信息如下:姓名為“張三”學(xué)號(hào)為“0709123201”要求:“姓名”聲明為“學(xué)生信息”的子元素“學(xué)號(hào)”聲明為“姓名”的屬性寫出包含DTD文檔的XML文檔2023/7/22任務(wù)1:設(shè)置屬性默認(rèn)值任務(wù)1-1:直接指定屬性缺省值<!ATTLIST元素名屬性名屬性類型"默認(rèn)值">2023/7/22案例1-1<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)">圖書類別默認(rèn)值設(shè)置2023/7/22訓(xùn)練1-1閱讀下面的DTD文檔聲明,寫出相應(yīng)的XML文檔,并進(jìn)行有效性驗(yàn)證。要求:數(shù)據(jù)自擬,包含一名男生和一名女生。2023/7/22任務(wù)1:設(shè)置屬性默認(rèn)值任務(wù)1-2:

必需賦值的屬性設(shè)置(#REQUIRED)<!ATTLIST元素名屬性名屬性類型#REQUIRED>2023/7/22案例1-2<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)"

PageCountCDATA#REQUIRED>圖書頁(yè)碼必須賦值2023/7/22訓(xùn)練1-2閱讀下面的DTD文檔聲明,寫出相應(yīng)的XML文檔,并進(jìn)行有效性驗(yàn)證(學(xué)號(hào)必須聲明)。要求:數(shù)據(jù)自擬,包含一名男生和一名女生。2023/7/22任務(wù)1:設(shè)值屬性默認(rèn)值任務(wù)1-3:

可有可無(wú)的屬性設(shè)置(#IMPLIED)<!ATTLIST元素名屬性名屬性類型#IMPLIED>2023/7/22案例1-3<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)"

PageCountCDATA#IMPLIED>圖書頁(yè)碼可有可無(wú)2023/7/22訓(xùn)練1-3下面是描述學(xué)生信息的DTD文檔,寫出相應(yīng)的XML文檔,并進(jìn)行有效性驗(yàn)證(屬性類別可有可無(wú))。要求:數(shù)據(jù)自擬,包含一名男生和一名女生。2023/7/22任務(wù)1:設(shè)值屬性默認(rèn)值任務(wù)1-4:

固定取值的屬性設(shè)置(#FIXED)<!ATTLIST元素名屬性名屬性類型#FIXED"默認(rèn)值">2023/7/22案例1-4<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!ATTLISTBookCategoryCDATA#FIXED"計(jì)算機(jī)" PageCountCDATA#IMPLIED>圖書的類別固定為“計(jì)算機(jī)”2023/7/22訓(xùn)練1-4下面是一個(gè)網(wǎng)站開發(fā)人員的DTD聲明,根據(jù)該聲明編寫XML文檔,并進(jìn)行有效性驗(yàn)證。(固定取值屬性)2023/7/22任務(wù)2:設(shè)置屬性的類型屬性類型含義CDATAEnumeratedIDIDREFIDREFSENTITYENTITIESNMTOKENNMTOKENSNOTATION字符數(shù)據(jù)。枚舉類型,可能取值的枚舉列表,可以從其中選擇一個(gè)值作為屬性的值。標(biāo)識(shí)XML文檔中元素唯一性的屬性。對(duì)某些具有ID屬性的元素的引用,這些元素的ID屬性值必須與IDREF的屬性值相同。由空格分開的若干個(gè)ID。在DTD中聲明的實(shí)體名稱。若干以空格分開的ENTITY名稱。名稱記號(hào)(合法的XML名稱)。若干空格分隔的NMTOKEN。指定屬性值為DTD中聲明的記號(hào)名。2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-1:

枚舉類型設(shè)置(Enumerated)Enumerated屬性可以被描述為一組可接受的取值列表,XML文件中對(duì)屬性的賦值將從這個(gè)列表中選取一個(gè)值。Enumerated不是關(guān)鍵字不需要大寫,在將一個(gè)屬性設(shè)定為Enumerated類型時(shí),可選值之間以“|”分隔。2023/7/22案例2-1<!ELEMENTSID(#PCDATA)><!ELEMENTName(#PCDATA)><!ELEMENTClass(#PCDATA)><!ELEMENTStudent(SID,Name,Class)><!ELEMENTStudentList(Student)*><!ATTLISTStudentGender(男|女)#REQUIRED>學(xué)生的性別為枚舉類型,枚舉值為“男”或女。2023/7/22訓(xùn)練2-1根據(jù)DTD聲明編寫XML文檔,并進(jìn)行有效性驗(yàn)證(枚舉類型使用)。2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-2:ID類型設(shè)置(ID

)(1)ID是用屬性值的方式為文件中的某個(gè)元素定義唯一標(biāo)識(shí)的方法

(2)ID由處理文件的程序或腳本語(yǔ)言使用。

(3)ID的值必須是一個(gè)有效的XML名稱,名稱中不能出現(xiàn)空格符。

2023/7/22案例2-2<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)"

BookIDID#REQUIRED>圖書的編號(hào)為ID類型,必須賦值。2023/7/22訓(xùn)練2-2根據(jù)DTD聲明寫出XML文檔(ID類型的使用)。2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-3:IDREF類型設(shè)置(IDREF

)IDREF類型允許一個(gè)元素的屬性使用文件中的另一個(gè)元素,方法就是把那個(gè)元素的ID標(biāo)識(shí)值作為該屬性的取值。注意該屬性值中空格是非法的。

2023/7/22案例2-3<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)"

BookIDID#REQUIRED><!ELEMENTBorrowNumber(#PCDATA)><!ATTLISTBorrowNumberBIDIDREF#REQUIRED><!ELEMENTSID(#PCDATA)><!ELEMENTName(#PCDATA)><!ELEMENTClass(#PCDATA)><!ELEMENTStudent(SID,Name,Class,BorrowNumber*)><!ELEMENTBorrowBook(Book*,Student)>學(xué)生借閱的圖書編號(hào)必須是已有的圖書編號(hào)。2023/7/22訓(xùn)練2-3假設(shè)選修課程為“圖像處理”,至少有兩名同學(xué)選修了該課程,請(qǐng)寫出XML文檔。(IDREF類型使用練習(xí))2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-4:IDREFS類型設(shè)置(IDREFS)IDREFS類型允許屬性有多個(gè)屬性值,它們之間用空格分隔開來(lái),處于同一對(duì)引號(hào)之下,每一個(gè)都是在文檔中其他地方設(shè)定過的ID類型的屬性值。

2023/7/22案例2-4<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ATTLISTBookCategoryCDATA"計(jì)算機(jī)"

BookIDID#REQUIRED><!ELEMENTBorrowNumber(#PCDATA)><!ATTLISTBorrowNumberBIDIDREFS#REQUIRED><!ELEMENTSID(#PCDATA)><!ELEMENTName(#PCDATA)><!ELEMENTClass(#PCDATA)><!ELEMENTStudent(SID,Name,Class,BorrowNumber*)><!ELEMENTBorrowBook(Book*,Student)>2023/7/22訓(xùn)練2-4使用IDREFS訓(xùn)練2-3中DTD聲明,并寫出對(duì)應(yīng)的XML文檔。(IDREFS類型使用練習(xí))2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-5

:ENTITY類型設(shè)置(ENTITY)ENTITY類型的屬性提供把外部二進(jìn)制數(shù)據(jù)和外部不可析實(shí)體(如GIF、JPEG、AVI等格式的文件)鏈接到文檔中的能力。

2023/7/22案例2-5<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!NOTATIONjpgSYSTEM"image/jpeg"><!ENTITYPhoto1SYSTEM"photo1.jpg“NDATAjpg><!ENTITYPhoto2SYSTEM"photo2.jpg"NDATAjpg><!ATTLISTBookCategoryCDATA#FIXED"計(jì)算機(jī)"

PhotoENTITY#IMPLIED>圖書的封面屬性Photo必須是以定義的實(shí)體Photo1或Photo22023/7/22訓(xùn)練2-5在訓(xùn)練2-3中添加兩張學(xué)生照片的實(shí)體參考,并編寫XML文檔進(jìn)行有效性驗(yàn)證(ENTITY類型練習(xí))2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-6

:ENTITIES類型設(shè)置(ENTITIES)若干由空格分隔的不可析實(shí)體名組成ENTITIES類型屬性的值。每一實(shí)體名指向一個(gè)外部非XML數(shù)據(jù)資源。這種類型屬性的用途之一是使不同圖片之間的切換變得光滑平順。2023/7/22案例2-6<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!NOTATIONjpgSYSTEM"image/jpeg"><!ENTITYPhoto1SYSTEM"photo1.jpg“NDATAjpg><!ENTITYPhoto2SYSTEM"photo2.jpg"NDATAjpg><!ATTLISTBookCategoryCDATA#FIXED"計(jì)算機(jī)"

PhotoENTITIES#IMPLIED>2023/7/22訓(xùn)練2-6在訓(xùn)練2-5中的ENTITY改為ENTITIES,重新驗(yàn)證XML文檔進(jìn)行有效性驗(yàn)證(ENTITIES類型練習(xí))2023/7/22任務(wù)2:設(shè)置屬性的類型任務(wù)2-7

:NMTOKEN類型設(shè)置(

NMTOKEN

)使用NMTOKEN代表屬性值類型時(shí),屬性值只能是由英文字母、數(shù)字、下劃線“_”、連接符“-”、圓點(diǎn)“.”、冒號(hào)“:”等字符所構(gòu)成的字符串,且字符串中不得出現(xiàn)空格符

2023/7/22案例2-7<!ELEMENTTitle(#PCDATA)><!ELEMENTAuthor(#PCDATA)><!ELEMENTPublisher(#PCDATA)><!ELEMENTPubDate(#PCDATA)><!ELEMENTISBN(#PCDATA)><!ELEMENTBook(Title,Author,Publisher,PubDate,ISBN)><!ELEMENTBookList(Book)*><!NOTATIONjpgSYSTEM"image/jpeg"><!NOTATIONgifSYSTEM"image/gif"><!ATTLISTBookPhotoNMTOKEN#IMPLIED ImagetypeNOTATION(jpg|gif)#IMPLIED>2023/7/22訓(xùn)練2-7編寫XML文檔(NMTOKEN屬性值類型使用)2023/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論