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兩種引用命名空間的方法。