天天看點

XML中常用的兩種驗證模式

最近在看一本書《Spring源碼深度解析》,裡面講到了XML解析,之前也不是說特别了解這個,當時看到了有點印象的東西,決定記下來

XML檔案的驗證模式保證了XML檔案的準确性,而比較常用的兩種驗證模式有:DTD和XSD

DTD(Doucument Type Definition)即文檔類型定義,是一種XML限制模式語言,是XML檔案的驗證機制,屬于XML檔案組成的一部分。DTD是一種保證XML文檔格式正确的有效方法,可以通過比較XML文檔和DTD檔案來看文檔是否符合規範,元素标簽是否使用正确。一個DTD文檔包含:元素的定義規則,元素間關系的定義規則,元素可使用的屬性,可使用的實體或符号規則。

要使用DTD驗證模式的時候需要在XML檔案的頭部聲明

XML中常用的兩種驗證模式

XML Schema語言就是XSD(XML Schema Definition)。XML Schema描述了XML文檔的結構。可以用一個指定的XML Schema來驗證的某個XML文檔,以檢查該XML文檔是否符合其要求.文檔設計者可以通過XML Schema指定一個XML文檔所允許的結構和内容,并可據此檢查一個XML文檔是否是有效的。XML Schema本身就是一個XML文檔,他符合XML文法結構。可以用通用的XML解析器解析它。

在使用XML Schema文檔對XML執行個體文檔進行檢驗,除了要聲明名稱空間外,還必須指定該名稱空間所對應的XML Schema文檔的存儲位置。通過schemaLocation屬性來指定名稱空間所對應的XML Schema文檔的存儲位置,它包含兩個部分,一部分是名稱空間的URI,另一部分就是該名稱空間所辨別的XML Schema檔案位置或URL位址

XML中常用的兩種驗證模式