2011-09-15 54 views
1

在XML中DTD和Schema之間有什麼區別?Schema和DTD之間的區別

+0

見http://stackoverflow.com/questions/1490583/is-dtd-or-xml-schema-better – sourcedelica

+0

當你談論模式,你必須清楚你是否正在談論的模式語言一般來說(其中DTD是一個例子),或者特別是關於W3C XML Schema語言(現在稱爲XSD)。 –

+0

另請參見[XML Schema和DTD之間的區別?](http://stackoverflow.com/questions/1544200)。 –

回答

3

檢查出XML DTDs vs XML Schema爲了一個很好的比較和解釋。

的DTD提供了一個基本語法用於在包括所述文檔的形狀中的元數據來定義的XML文檔。 XML模式提供了這一點,並提供了詳細的方式來定義數據可以包含和不可包含的內容。它爲開發人員提供了對合法內容的更多控制,並提供了面向對象的方法,並帶來了所有的好處。

+0

是否有任何DTD功能,無法用XSD表示? –

0

DTD是XML規範本身的一部分。模式不是。只有一種DTD語言;有許多模式語言,「XML Schema」和「Relax NG」是兩種常見模式語言。

大多數模式語言都試圖覆蓋DTD(很多)的一些侷限性,而且我的印象是DTD對於新的應用程序來說是非常不受歡迎的。然而,HTML被指定爲DOCTYPE定義,EPUB規範的某些部分也是如此。他們在這一點上的主要優勢可能是符合的XML處理器應該處理它們,您不能說任何其他模式語言。