ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 为什么使用 XML Schemas? XML Schema 比 DTD 更强大。 ## XML Schema 支持数据类型 XML Schema 最重要的能力之一就是对数据类型的支持。 ### 通过对数据类型的支持: * 可更容易地描述允许的文档内容 * 可更容易地验证数据的正确性 * 可更容易地与来自数据库的数据一并工作 * 可更容易地定义数据约束(data facets) * 可更容易地定义数据模型(或称数据格式) * 可更容易地在不同的数据类型间转换数据 编者注:数据约束,或称 facets,是 XML Schema 原型中的一个术语,中文可译为"面",用来约束数据类型的容许值。 ## XML Schema 使用 XML 语法 另一个关于 XML Schema 的重要特性是,它们由 XML 编写。 ### 由 XML 编写 XML Schema 有很多好处: * 不必学习新的语言 * 可使用 XML 编辑器来编辑 Schema 文件 * 可使用 XML 解析器来解析 Schema 文件 * 可通过 XML DOM 来处理 Schema * 可通过 XSLT 来转换 Schema ## XML Schema 可保护数据通信 当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的"期望值"。 通过 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 Schema 是可扩展的,因为它们由 XML 编写。 ### 通过可扩展的 Schema 定义,您可以: * 在其他 Schema 中重复使用您的 Schema * 创建由标准类型衍生而来的您自己的数据类型 * 在相同的文档中引用多重的 Schema ## 形式良好是不够的 我们把符合 XML 语法的文档称为形式良好的 XML 文档,比如: * 它必须以 XML 声明开头 * 它必须拥有唯一的根元素 * 开始标签必须与结束标签相匹配 * 元素对大小写敏感 * 所有的元素都必须关闭 * 所有的元素都必须正确地嵌套 * 必须对特殊字符使用实体 即使文档的形式良好,仍然不能保证它们不会包含错误,并且这些错误可能会产生严重的后果。 请考虑下面的情况:您订购的了 5 打激光打印机,而不是 5 台。通过 XML Schema,大部分这样的错误会被您的验证软件捕获到。