符合語法的XML文檔稱為結構良好的XML文檔。
通過DTD驗證的XML文檔稱為有效的XML文檔。
一個結構良好的XML文檔應該使用正確的語法。
一個結構良好的XML文檔應該遵守XML語法規則,前面一章給出的例子就是一個結構良好的XML文檔:
<?XML version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
一個有效的XML文檔應該遵守DTD的描述。
一個有效的XML文檔也是一個結構良好的XML文檔,同時還必須符合DTD的規則。
<?XML version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE note SYSTEM "InternalNote.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
DTD定義了XML文檔中可用的合法元素。
DTD的意圖在於定義XML文檔的合法建築模塊。他通過定義一系列合法的元素決定了XMl文檔的內部結構。結構良好的XML文檔不一定是有效的XML文檔,但有效的XML文檔一定是結構良好的XML文檔。如果你想了解更多關於DTD的知識可以參考DTD 指南。
XML Schema(XML模式)是基於XML的DTD的替代品。
W3C使得DTD和Schema可以相互替代,讀者可以在Schema 指南中了解到更多信息。
XML文檔中發生的錯誤將導致XML程序停止。
W3C的XML規范聲明:如果程序在處理XML文檔中發現一個有效的錯誤,那麼此程序應該終止。這就是XML軟件相對於容易編寫的原因。所有的XML文檔地都應該是協調一致的。
在HTML中,HTML文件可能包含很多錯誤,(比如一個元素有開始標記沒有結束標記)這也是HTML浏覽器體積之所以很大的一個原因,當他們發現錯誤的時候,他們有各自不同的方法來決定此Html文件應該如何顯示。
在XML中決不會發生這種情況。