XML Schema 架构
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 可描述 XML 文档的结构。
XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。
XML Schema
XML Schema 是基于 XML 的 DTD 替代者:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
上面的 Schema 是这样解释的:
- <xs:element name="note"> 定义名为 "note" 的元素
- <xs:complexType> "note" 元素是复杂类型
- <xs:sequence> 复杂类型是一个元素序列
- <xs:element name="to" type="xs:string"> 元素 "to" 是字符串类型(文本)
- <xs:element name="from" type="xs:string"> 元素 "from" 是字符串类型
- <xs:element name="heading" type="xs:string"> 元素 "heading" 是字符串类型
- <xs:element name="body" type="xs:string"> 元素 "body" 是字符串类型
XML Schema 是 DTD 的继任者
我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。
理由如下:
- XML Schema 可针对未来的需求进行扩展
- XML Schema 更完善,功能更强大
- XML Schema 基于 XML 编写
- XML Schema 支持数据类型
- XML Schema 支持命名空间
为什么要使用 XML 架构?
使用 XML Schema,您的 XML 文件可以携带其自身格式的描述。
使用 XML Schema,独立的人群可以就数据交换标准达成一致。
使用 XML Schema,您可以验证数据。
XML Schema 支持数据类型
XML Schema 最重要的能力之一就是对数据类型的支持。
- 可更容易地描述允许的文档内容
- 可更容易地验证数据的正确性
- 可更容易地与来自数据库的数据一并工作
- 可更容易地定义数据约束(data facets)
- 可更容易地定义数据模型(或称数据格式)
- 可更容易地在不同的数据类型间转换数据
XML Schema 使用 XML 语法
另一个关于 XML Schema 的重要特性是,它们由 XML 编写。
由 XML 编写 XML Schema 有很多好处:
- 不必学习新的语言
- 可使用 XML 编辑器来编辑 Schema 文件
- 可使用 XML 解析器来解析 Schema 文件
- 可通过 XML DOM 来处理 Schema
- 可通过 XSLT 来转换 Schema
如果您想学习 XML Schema,请阅读, XML Schema 教程.