XSD(代表:XML Schema Definition)是一种精确描述XML语言的方法。 XSD根据相应XML语言的语法规则检查XML文档的结构和词汇的有效性。

XML Schema Definition 缩写.可扩展标记语言架构是以可扩展标记语言(标准通用标记语言的子集)为基础的,它用于可替代文档类型定义(外语缩写:DTD);一份XML schema文件描述了可扩展标记语言文档的结构。

定义编辑

它的作用是定义一份XML文档的合法组件群,就像文档类型定义(外语缩写:DTD)的作用一样,一份XML Schema定义了:

  • 可以出现在文档里的元素;

  • 可以出现在文档里的属性;

  • 哪些元素是子元素;

  • 子元素的顺序;

  • 子元素的数量;

  • 一个元素应是否能包含文本,或应该是空的;

  • 元素和属性的数据类型;

  • 元素和属性的默认值和固定值。

优点

XML Schema 比 DTD 更强大。

其优势包括以下几点:

1、支持数据类型

XML Schema 最重要的能力之一就是对数据类型的支持。通过对数据类型的支持:

  • 可更容易地描述允许的文档内容

  • 可更容易地验证数据的正确性

  • 可更容易地与来自数据库的数据一并工作

  • 可更容易地定义数据约束(data facets)

  • 可更容易地定义数据模型(或称数据格式)

  • 可更容易地在不同的数据类型间转换数据

2、它使用 XML 语法

另一个关于 XML Schema 的重要特性是,它们由 XML 编写。由 XML 编写 XML Schema 有很多好处:

  • 不必学习新的语言

  • 可使用 XML 编辑器来编辑 Schema 文件

  • 可使用 XML 解析器来解析 Schema 文件

  • 可通过 XML DOM 来处理 Schema

  • 可通过 XSLT 来转换 Schema

3、可保护数据通信

当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的"期望值"。

通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。

一种数据,比如 "03-11-2004",在某些国家被解释为11月3日,而在另一些国家为当作3月11日。

但是一个带有数据类型的 XML 元素,比如:<date type="date">2004-03-11</date>,可确保对内容一致的理解,这是因为 XML 的数据类型 "date" 要求的格式是 "YYYY-MM-DD"。

4、可扩展性

XML Schema 是可扩展的,因为它们由 XML 编写。

通过可扩展的 Schema 定义,您可以:

  • 在其他 Schema 中重复使用您的 Schema

  • 创建由标准类型衍生而来的您自己的数据类型

  • 在相同的文档中引用多重的 Schema

5、可捕获到错误

即使文档的形式良好,仍然不能保证它们不会包含错误,并且这些错误可能会产生严重的后果。

请考虑下面的情况:您订购的了 5 打激光打印机,而不是 5 台。通过 XML Schema,大部分这样的错误会被您的验证软件捕获到。

缺点

虽然被写入XML是一个优势,在某些方面也是一个缺点。W3C XML Schema语言特别是可能非常冗长,而DTD可以简洁且相对容易编辑。

W3C XML Schema没有实现大部分提供的数据元素到文档的DTD能力。

继承性编辑

XML Schema可能很快就会替代文档类型定义(外语缩写:DTD)在大多数的网络应用程序中被广泛使用。

  • 针对将来的额外内容是可扩展的;

  • 内容比文档类型定义(外语缩写:DTD)丰富,作用也更大;

  • 是以XML语言编写而成的;

  • 支持数据类型;

  • 支持名称空间(外语:namespaces);

本教程将教您XSD的基础知识,本教程通过相关示例讨论XSD的所有基本组件。