要使用DTD進行有效性檢驗,就要使用文檔類型定義聲明指定DTD。文檔類型聲明位于XML聲明之后,根元素之前。如果dtd文檔位于本機,可用路徑名直接指出dtd文檔的位置。 由于XML可自定義標(biāo)簽,所以每個人定義的標(biāo)簽集都會不同,如果沒有一套標(biāo)準(zhǔn)來規(guī)定標(biāo)簽的定義原則,則應(yīng)用程序就不能對XML文檔進行處理。解決該問題的方案采用DTD,DTD(Document Type Definition,文檔類型定義),用于定義XML文檔的編寫規(guī)則。如哪些元素可出現(xiàn)在文檔中,及元素的內(nèi)容和屬性的要求等。應(yīng)用程序會利用這個DTD對文檔進行檢驗,符合DTD約束規(guī)則的XML文檔稱之為有效文檔,可以進行下一步處理,否則會報錯,應(yīng)用程序可捕獲該錯誤進行相應(yīng)的異常處理。檢驗過程是可選,這要視具體應(yīng)用而定。 本文由錯新站長站(https://www.jb51.net)整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
文檔類型聲明 要使用DTD進行有效性檢驗,就要使用文檔類型定義聲明指定DTD。如: <?xml version="1.0" standalone="no"?><!DOCTYPE portal SYSTEM "http://www.w3c.com/dtd/portal.dtd"><portal> <name>Jims</name> <email>Jims@163.com</email> <email>Jims@21cn.com</email></portal> 文檔類型聲明位于XML聲明之后,根元素之前。如果dtd文檔位于本機,可用路徑名直接指出dtd文檔的位置。portal.dtd的內(nèi)容如下: <!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)> 上面的內(nèi)容也可直接寫到XML文檔內(nèi),這種dtd聲明方式叫內(nèi)部dtd子集,如: <?xml version="1.0" standalone="no"?><!DOCTYPE portal [<!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)>]><portal> <name>Jims</name> <email>Jims@163.com</email> <email>Jims@21cn.com</email></portal> 如果dtd位于XML文檔外,則叫外部dtd子集。我們可以結(jié)合內(nèi)外dtd,共同組成一個dtd來為XML文檔作驗證。如: <!DOCTYPE portal SYSTEM "external.dtd" [<!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)>]> 注意,使用內(nèi)外dtd時,這兩個dtd要互相兼容,不能有沖突。