DTD和Schema區別


    Schema是對XML文檔結構的定義和描述,其主要的作用是用來約束XML文件,並驗證XML文件有效性。DTD的作用是定義XML的合法構建模塊,它使用一系列的合法元素來定義文檔結構。它們之間的區別有下面幾點:

       1、Schema本身也是XML文檔,DTD定義跟XML沒有什麼關係,Schema在理解和實際應用有很多的好處。

       2、DTD文檔的結構是“平鋪型”的,如果定義複雜的XML文檔,很難把握各元素之間的嵌套關係;Schema文檔結構性強,各元素之間的嵌套關係非常直觀。

      3、DTD只能指定元素含有文本,不能定義元素文本的具體類型,如字符型、整型、日期型、自定義類型等。Schema在這方面比DTD強大。

      4、Schema支持元素節點順序的描述,DTD沒有提供無序情況的描述,要定義無序必需窮舉排列的所有情況。Schema可以利用xs:all來表示無序的情況。

     5、對命名空間的支持。DTD無法利用XML的命名空間,Schema很好滿足命名空間。並且,Schema還提供了include和import兩種引用命名空間的方法。

發佈了45 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章