- 相關(guān)推薦
IBM XML認證知識點(diǎn):Dtd
一個(gè)“有效的”文件首先應該是“形式良好”的。但這還遠遠不夠,它還要往前更進(jìn)一步。一個(gè)XML(XML培訓 編程語(yǔ)言培訓 )文件必須遵守文件類(lèi)型描述 Dtd(Document Type Definition)中定義的種種規定。所有的文件都是由序言和文件體構成的。序言中包含了XML聲明,在序言中還可以包含Dtd定義。
內部Dtd
一個(gè)“有效的”文件首先應該是“形式良好”的。但這還遠遠不夠,它還要往前更進(jìn)一步。一個(gè)XML文件必須遵守文件類(lèi)型描述Dtd(Document Type Definition)中定義的種種規定。所有的文件都是由序言和文件體構成的。序言中包含了XML聲明,在序言中還可以包含Dtd定義。
最簡(jiǎn)單的使用Dtd的方法是在XML文件的序言部分加入一個(gè)Dtd描述,加入的位置是緊接在XML處理指示之后。一個(gè)包含Dtd的XML文件的結構為:
元素描述
]>
文件體.......
這樣,我們就定義了一個(gè)文件,它以DOCTYPE中規定的根元素名作為其根元素的名字。
如果為每一個(gè)XML文件加入一段Dtd定義,是相當繁瑣的。而且,更多的情況下,我們會(huì )為一批XML文件定義一個(gè)相同的Dtd。例如,對于報社中的每篇稿件,它們都有相同的格式,可以采用一個(gè)統一的Dtd,為每一篇單獨定義既麻煩,又不利于統一格式。好在XML規范為我們提供了解決這個(gè)問(wèn)題的方法,它就是外部Dtd。
v
外部Dtd的好處是:它可以方便高效地被多個(gè)XML文件所共享。你只要寫(xiě)一個(gè)Dtd 文件,就可以被多個(gè)XML文件所引用。事實(shí)上,當許多組織需要統一它們的數據交換格式時(shí),它們就是通過(guò)外部Dtd來(lái)完成的。這樣做不僅簡(jiǎn)化了輸入工作,還保證當你需要對Dtd做出改動(dòng)時(shí),不用一一去改每個(gè)引用了它的XML文件,只要改一個(gè)公用的Dtd文件就足夠了。
為了引用一個(gè)外部Dtd,必須修改XML聲明和DOCTYPE聲明。
XML聲明中必須說(shuō)明這個(gè)文件不是自成一體的,即standalone屬性的屬性值不再是yes了:
在DOCTYPE聲明中,應該加入SYSTEM屬性:
例如:
上面的URL是一個(gè)絕對路徑,除此以外,它還可以是一個(gè)相對路徑,如: 它說(shuō)明這個(gè)Dtd文件和引用它的XML文件在同一個(gè)目錄下。
使用這種方法,你可以方便地把Dtd文件從你的XML文件中分離出來(lái),粘貼到另一個(gè)文件fclml.dtd中。這樣,你就得到一個(gè)Dtd文件和一個(gè)有效的XML文件。
公用Dtd
使用外部Dtd時(shí),要在DOCTYPE中使用關(guān)鍵字SYSTEM。實(shí)際上,SYSTEM不是引用外部Dtd的唯一方法,這個(gè)關(guān)鍵字主要用于引用一個(gè)作者或組織所編寫(xiě)的眾多 XML文件中通用的Dtd。還存在一種外部Dtd,它是一個(gè)由權威機構制訂的,提供給特定行業(yè)或公眾使用的Dtd。因此,另一個(gè)引用外部Dtd的辦法是使用關(guān)鍵字 PUbLIC,引用這一類(lèi)公開(kāi)給公眾使用的Dtd。
當使用關(guān)鍵字PUbLIC進(jìn)行引用時(shí),這個(gè)外部Dtd還需要得到一個(gè)標識名。引用公共Dtd的形式為:
請見(jiàn)下面例子:
這個(gè)Dtd標識的命名規則和XML文件的命名規則稍有不同。具體地說(shuō),Dtd名稱(chēng)只能包含字母、數字、空格和下面的符號:_%$#@()+:=/!*;?。同時(shí),Dtd名稱(chēng)還必須符合一些標準的規定。例如,ISO標準的Dtd以“ISO”三個(gè)字母開(kāi)頭;被改進(jìn)的非ISO 標準的Dtd以加號“+”開(kāi)頭;未被改進(jìn)的非ISO標準的Dtd以減號“-”開(kāi)頭。
無(wú)論是哪一種情況,開(kāi)始部分后面都跟著(zhù)兩個(gè)斜杠“//”及Dtd所有者的名稱(chēng)。在這個(gè)名稱(chēng)之后又是兩個(gè)斜杠“//”,再然后是Dtd所描述的文件的類(lèi)型。最后,在又一對斜杠之后是語(yǔ)言的種類(lèi)(參見(jiàn)ISO 639)。例如下面這個(gè)公用Dtd的引用:
看上去的確比較復雜,不過(guò)沒(méi)關(guān)系,對于Dtd的命名通常不是它的引用者的任務(wù),XML 文件的編寫(xiě)者只要在自己的文件中把事先定義好的Dtd名稱(chēng)放在相應的位置中就可以了。
【IBM XML認證知識點(diǎn):Dtd】相關(guān)文章:
關(guān)于IBM XML認證考試的要點(diǎn)01-13
IBM認證項目01-12
什么是IBM認證03-20
IBM認證簡(jiǎn)介03-19
IBM認證考試認證體系01-20
IBM認證優(yōu)勢03-19
XML認證元素類(lèi)型聲明03-20
IBM/Notes認證方式03-10