XML入門教程:文檔類型聲明-XML/XSLT
2024-09-05 20:56:06
供稿:網友
要使用DTD進行有效性檢驗,就要使用文檔類型定義聲明指定DTD。文檔類型聲明位于XML聲明之后,根元素之前。如果dtd文檔位于本機,可用路徑名直接指出dtd文檔的位置。
由于XML可自定義標簽,所以每個人定義的標簽集都會不同,如果沒有一套標準來規定標簽的定義原則,則應用程序就不能對XML文檔進行處理。解決該問題的方案采用DTD,DTD(Document Type Definition,文檔類型定義),用于定義XML文檔的編寫規則。如哪些元素可出現在文檔中,及元素的內容和屬性的要求等。應用程序會利用這個DTD對文檔進行檢驗,符合DTD約束規則的XML文檔稱之為有效文檔,可以進行下一步處理,否則會報錯,應用程序可捕獲該錯誤進行相應的異常處理。檢驗過程是可選,這要視具體應用而定。
本文由錯新站長站(https://www.jb51.net)整理發布!轉載請注明出處,謝謝!文檔類型聲明
要使用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的內容如下:
<!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)>
上面的內容也可直接寫到XML文檔內,這種dtd聲明方式叫內部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子集。我們可以結合內外dtd,共同組成一個dtd來為XML文檔作驗證。如:
<!DOCTYPE portal SYSTEM "external.dtd" [<!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)>]>
注意,使用內外dtd時,這兩個dtd要互相兼容,不能有沖突。