既然 XML Schemas 的作用与 DTD(文档类型定义)相同,那么为什么要使用 XML Schemas 呢?
XML Schema 比 DTD 更强大。
XML Schema 最重要的能力之一就是对数据类型的支持。
编者注:数据约束,或称 facets,是 XML Schema 原型中的一个术语,中文可译为"面",用来约束数据类型的容许值。
另一个关于 XML Schema 的重要特性是,它们由 XML 编写。
当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的"期望值"。
通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。
一种数据,比如 "03-11-2004",在某些国家被解释为11月3日,而在另一些国家为当作3月11日。
但是一个带有数据类型的 XML 元素,比如:<date type="date">2004-03-11</date>,可确保对内容一致的理解,这是因为 XML 的数据类型 "date" 要求的格式是 "YYYY-MM-DD"。
XML Schema 是可扩展的,因为它们由 XML 编写。
我们把符合 XML 语法的文档称为形式良好的 XML 文档,比如:
即使文档的形式良好,仍然不能保证它们不会包含错误,并且这些错误可能会产生严重的后果。
请考虑下面的情况:您订购的了 5 打激光打印机,而不是 5 台。通过 XML Schema,大部分这样的错误会被您的验证软件捕获到。
在下一节内容中,我们将开始学习使用 XML Schema。