資源描述:
《《文檔類型定義》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章文檔類型定義(DTD)湖南大學(xué)軟件學(xué)院李珩第三章文檔類型定義(DTD)老問題:XML是什么?XML是一種元標記語言,是一種描述,或者說是定義標記語言的語言。第二個問題:如何用XML描述或是定義一個標記語言?XML通過DTD(DocumentTypeDefinitions)來定義一個標記語言第三個問題:標記語言HTML是怎么產(chǎn)生的?HTML是通過DTD來定義的符合SGML語法的SGML文檔。第四個問題:DTD是什么?第三章文檔類型定義(DTD)文檔類型定義(DTD)DTD(DocumentTypeDefini
2、tions)——描述XML文檔內(nèi)容的結(jié)構(gòu),包括定義XML中的元素、屬性、實體,并指定元素、屬性以及實體間的順序關(guān)系。DTD文件的作用XML文檔要與DTD相比較,這一過程稱為合法性檢驗。如果文檔符合DTD中的約束,這個文檔就被認為是合法的,否則就是不合法的。DTD為應(yīng)用程序、組織和興趣團體提供了共同遵循的方法,同時也以文檔形式闡述了標記標準并強制遵守此標準。第三章文檔類型定義(DTD)第五個問題:XML是如何使用DTD來定義標記語言?第三章文檔類型定義(DTD)什么是有效的XML文檔格式良好的文檔(文檔是符合XML
3、語法的)包含DTD文件(有定義文檔結(jié)構(gòu)的規(guī)范)合法的文檔(XML文檔與DTD所定義的相匹配)第三章文檔類型定義(DTD)為什么需要DTD?(WHY)沒有規(guī)矩,不成方圓規(guī)矩:DTD方圓:有效的XML文檔第三章文檔類型定義(DTD)創(chuàng)建DTD文檔(How)實例:定義圖書信息格式問題要求:書籍詳細資料按照一定的規(guī)則存儲,以保證書籍信息格式的一致性。書籍的詳細資料包括:ISBN、書名、作者(最多為四人)、出版社、價格、關(guān)鍵字、供書商、庫存量、庫存位置。書籍共有三類:計算機類、經(jīng)濟類、文學(xué)類。書庫中存放書籍的區(qū)域也相應(yīng)有三
4、個:計算機類架柜、經(jīng)濟類架柜、文學(xué)類架柜。第三章文檔類型定義(DTD)創(chuàng)建DTD文檔(How)分析確定保證數(shù)據(jù)一致性的方法使用DTD來約束書籍?dāng)?shù)據(jù)的內(nèi)容結(jié)構(gòu)列出存儲書籍詳細資料所需要的元素、屬性聲明元素、屬性,生成相應(yīng)DTD編寫XML文檔,并引用DTD驗證XML的有效性第三章文檔類型定義(DTD)創(chuàng)建DTD文檔(How)解決列出存儲書籍詳細資料所需要的元素、屬性問題要求:書籍詳細資料按照一定的規(guī)則存儲,以保證書籍信息格式的一致性。書籍的詳細資料包括:ISBN、書名、作者(最多為四人)、出版社、價格、關(guān)鍵字、供書商
5、、庫存量、庫存位置。書籍共有三類:計算機類、經(jīng)濟類、文學(xué)類。書庫中存放書籍的區(qū)域也相應(yīng)有三個:計算機類架柜、經(jīng)濟類架柜、文學(xué)類架柜。第三章文檔類型定義(DTD)創(chuàng)建DTD文檔(How)解決列出存儲書籍詳細資料所需要的元素、屬性元素/屬性名稱描述元素BOOKLIBRARY根元素,指明XML文檔中存儲的所有書籍?dāng)?shù)據(jù)BOOK表示每一本書的詳細資料(包括書名、作者……等)BOOKNAME表示每一本書的書名AUTHOR表示每一本書的作者PUBLISHER表示每一本書的出版社PRICE表示每一本書的價格KEYWORD表示每一
6、本書的關(guān)鍵字PROVIDERID表示每一本書的供應(yīng)商ID,對于供應(yīng)商資料是唯一的QUANTITY表示每一本書的庫存數(shù)量屬性ISBN表示每一本書的出版號,對于每本書是唯一的PLACE表示每一本書的存放位置,有三個存放區(qū)A,B,C第三章文檔類型定義(DTD)創(chuàng)建DTD文檔(How)聲明元素DTD聲明元素的語法:
7、元素內(nèi)容模型>元素名——指明所聲明的元素名稱,在當(dāng)前DTD中必須是唯一的。元素類型——表示聲明元素包含的內(nèi)容類型。元素內(nèi)容模型——表示聲明文檔中允許出現(xiàn)的元素、元素間的順序、出
8、現(xiàn)的次數(shù)。第三章文檔類型定義(DTD)DTD中的元素類型PCDATA:則表示該元素的內(nèi)容是可析的字符數(shù)據(jù),不能在元素中包含子元素??赵兀‥MPTY):ANY:則該元素的結(jié)構(gòu)是可以任意指定的,它可
9、以包含任意多個子元素和字符數(shù)據(jù),這個元素完全沒有結(jié)構(gòu)限制。CONTAINER:
10、#PCDATA)>則該元素既包含可析字符數(shù)據(jù)又同時包含子元素例:第三章文檔類型定義(DTD)DTD中的元素內(nèi)容模型例