符合语法的XML文档称为结构良好的XML文档。
通过DTD验证的XML文档称为有效的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文档一个有效的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>
XML DTD DTD定义了XML文档中可用的合法元素。
DTD的意图在于定义XML文档的合法建筑模块。他通过定义一系列合法的元素决定了XMl文档的内部结构。结构良好的XML文档不一定是有效的XML文档,但有效的XML文档一定是结构良好的XML文档。如果你想了解更多关于DTD的知识可以参考DTD 指南。
XML Schema XML Schema(XML模式)是基于XML的DTD的替代品。
W3C使得DTD和Schema可以相互替代,读者可以在Schema 指南中了解到更多信息。
错误XML文档中发生的错误将导致XML程序停止。
W3C的XML规范声明:如果程序在处理XML文档中发现一个有效的错误,那么此程序应该终止。这就是XML软件相对于容易编写的原因。所有的XML文档地都应该是协调一致的。
在HTML中,HTML文件可能包含很多错误,(比如一个元素有开始标记没有结束标记)这也是HTML浏览器体积之所以很大的一个原因,当他们发现错误的时候,他们有各自不同的方法来决定此HTML文件应该如何显示。
在XML中决不会发生这种情况。