資源描述:
《文檔類型定義》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章文檔類型定義本章學(xué)習(xí)目標(biāo)理解有效XML文檔的概念理解DTD的概念和用途掌握DTD對元素的聲明方式掌握DTD對屬性的聲明方式課程引入:XML文檔不僅要保證Well-formed,還須要保證Valid。如何保證XML文檔Valid?——由DTD或XMLSchema來保證DTD出現(xiàn)時(shí)間較早,在SGML中就起作用XMLSchema出現(xiàn)較晚,符合XML文檔規(guī)范3.1定義XML文檔結(jié)構(gòu)的意義1、便于交流2、便于驗(yàn)證DTD和XMLSchema是為解決以上問題而制定的。一個(gè)有效的XML文檔既要遵守XML的語法規(guī)則,也要遵守在DTD或XMLSchema中定義的規(guī)則。XML模式XML模式是
2、描述XML文檔結(jié)構(gòu)的機(jī)制。DTD和XMLSchema是兩種XML建模工具,它們的作用類似于數(shù)據(jù)庫模式定義語言,利用它們可以為一類XML文檔建立一個(gè)模式。一個(gè)模式描述了一類文檔的結(jié)構(gòu),規(guī)范了該類文檔中標(biāo)記和文本可能的組合形式。3.2DTD語法文檔類型定義DTD(DocumentTypeDefinition)提供了定義文檔規(guī)范的一種方法。DTD定義XML文檔的基本結(jié)構(gòu),定義在XML文檔中出現(xiàn)的元素、這些元素出現(xiàn)的次序、元素之間的關(guān)系、元素可以使用的屬性、文檔可以使用的實(shí)體以及XML文檔結(jié)構(gòu)的其他詳細(xì)信息。DTD實(shí)際上定義了一個(gè)語法分析器。3.2.1DTD聲明DTD定義了置標(biāo)語言、文
3、檔結(jié)構(gòu)的語法和詞匯表。DTD聲明方法為:其中“[定義的內(nèi)容]”是用標(biāo)簽定義,它包括:元素類型聲明;元素屬性聲明;實(shí)體聲明;標(biāo)記聲明。3.2.2內(nèi)部和外部DTD內(nèi)部DTD文件表示DTD直接寫在XML文檔中,其所定義的限制就只能應(yīng)用于此XML文檔;外部DTD文件是作為一個(gè)外部文件被XML文檔引用,其優(yōu)點(diǎn)是一個(gè)DTD外部文件可以被多個(gè)XML文檔共享.1.內(nèi)部文檔類型定義(InternalDTD)基本表達(dá)形式:2.外部文檔類型定義(ExternalDTD)一般形式:
4、根元素名SYSTEM"外部DTD文件的URL">3.公用DTD有一種外部DTD,是由權(quán)威機(jī)構(gòu)制定的,提供給特定行業(yè)或公眾使用的DTD。引用公用DTD的形式是:DTD-name只能包含字母、數(shù)字、空格和以下符號:_%$#@()+:=/!*;?。同時(shí),DTD名稱還必須符合一些標(biāo)準(zhǔn)的規(guī)定。例如,ISO標(biāo)準(zhǔn)的DTD以“ISO”三個(gè)字母開頭;被改進(jìn)的非ISO標(biāo)準(zhǔn)的DTD以加號“+”開頭;未被改進(jìn)的非ISO標(biāo)準(zhǔn)的DTD以減號“-”開頭。???無論是哪一種情況,開始部分后面都跟著兩個(gè)斜杠“//”
5、及DTD所有者的名稱。在這個(gè)名稱之后又是兩個(gè)斜杠“//”,再然后是DTD所描述的文件的類型。最后,在又一對斜杠之后是語言的種類。例:內(nèi)部DTD文件示例
6、股份,神龍電業(yè),浦發(fā)銀行,興和基金)>]><持股信息><股東><姓名>張祥姓名><武商股份>10000武商股份><神龍電業(yè)>8000神龍電業(yè)><浦發(fā)銀行>15000浦發(fā)銀行><興和基金>6000興和基金>股東><股東><姓名>劉嫻姓名>…股東>持股信息>內(nèi)部DTD文檔放在XML聲明之后或在處理指令后,但在數(shù)據(jù)之前外部DT
7、D文件應(yīng)用示例外部DTD文件XML中應(yīng)用外部DTD方法