首頁  >  文章  >  後端開發  >  DTD和XSD在XML中的差異以及應用詳解

DTD和XSD在XML中的差異以及應用詳解

黄舟
黄舟原創
2017-05-07 14:01:131970瀏覽

1.DTD(Documnet Type Definition)
DTD即文件類型定義,是一種XML約束模式語言,是XML文件的驗證機制,屬於XML文件組成的一部分。
DTD 是一種保證XML文件格式正確的有效方法,可以透過比較XML文件和DTD文件來看文件是否符合規範,元素和標籤使用是否正確。
一個 DTD文件包含:
元素的定義規則,元素間關係的定義規則,元素可使用的屬性,可使用的實體或符號規則。 DTD和XSD比較:DTD 是使用非 XML 語法編寫的。 DTD 不可擴展,不支援命名空間,只提供非常有限的資料型別 .

沒有深入1.0 跟2.0的差異

#
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN //EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

2.XSD(XML Schemas Definition)
XML Schema語言也就是XSD。 XML Schema描述了XML文件的結構。 可以用一個指定的XML Schema來驗證某個XML文檔,以檢查該XML文檔是否符合其要求。文件設計者可以透過XML Schema指定一個XML文件所允許的結構和內容,並可據此檢查一個XML文件是否是有效的。 XML Schema本身是一個XML文檔,它符合XML語法結構。可以用通用的XML解析器解析它。 一個XML Schema會定義:文件中出現的元素、文件中出現的屬性、子元素、子元素的數量、子元素的順序、元素是否為空、元素和屬性的資料型態、元素或屬性的預設和固定值。

XSD是DTD替代者的原因,一是據將來的條件可擴展,二是比DTD豐富和有用,三是用XML書寫,四是支援資料類型,五是支援命名空間。

XML Schema的優點:
1) XML Schema基於XML,沒有專門的語法
2) XML Schema可以像其他XML檔案一樣解析和處理
3) XML Schema比DTD提供了更豐富的資料類型.
4) XML Schema提供可擴充的資料模型
5) XML Schema支援綜合命名空間
6) XML Schema支援屬性組。

<beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd>

我這裡用了DTD,詳情請見博客

以上是DTD和XSD在XML中的差異以及應用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn