您的位置:首页 > 其它

XML 从入门到精通(三)Schema教程

2013-12-03 21:44 246 查看


一XML Schema 简介


(一)XSD定义

    XML Schema 是基于 XML 的 DTD 替代者,可描述 XML 文档的结构,可作为 XSD(XML SchemaDefinition)来引用。

(二)XSD作用

    定义 XML 文档的合法构建模块,类似 DTD。定义可出现在文档中的元素+属性(及数据类型、默认值、固定值、文本)、子元素(次序、数目)

(三)XSD与 DTD 关系

    XSD可针对需求扩展、更完善,功能更强大、基于 XML 编写、支持数据类型 、支持命名空间

  1 XSD是DTD的继承者,比 DTD 更强大

  2 XML Schema 支持数据类型

    可更容易地描述允许的文档内容 、验证数据的正确性与来自数据库的数据一并工作、定义数据约束(data facets)、定义数据模型(或称数据格式)、可更容易地在不同的数据类型间转换数据

 

  3 XML Schema 使用 XML 语法

    不必学习新的语言 、可使用 XML 编辑器来编辑 Schema 文件 、可使用 XML 解析器来解析 Schema 文件 、可通过 XML DOM 来处理 Schema 、可通过 XSLT 来转换 Schema

  4 XML Schema 可保护数据通信

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

  5 XML Schema 可扩展

    因为它们由 XML 编写。优点:在其他 Schema 中重复使用您的 Schema 、创建由标准类型衍生而来的您自己的数据类型、在相同的文档中引用多重的 Schema

二 如何使用 XSD?

XML 文档可对 DTD 或XML Schema 进行引用。

(一)XML 文档

请看这个名为 "note.xml" 的 XML 文档:



 

(二)XSD定义

下面这个例子是一个名为 "note.xsd"的 XML Schema 文件,它定义了上面那个 XML 文档的元素:



代码解释:

下面的片断: 

    xmlns:xs="http://www.w3.org/2001/XMLSchema"显示 schema 中用到的元素和数据类型来自命名空间"http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:

 

这个片断: 

    targetNamespace="http://www.w3school.com.cn"显示被此 schema 定义的元素 (note, to,from, heading, body) 来自命名空间:"http://www.w3school.com.cn"。

 

这个片断: 

xmlns="http://www.w3school.com.cn"指出默认的命名空间是 "http://www.w3school.com.cn"。

 

这个片断: 

    elementFormDefault="qualified"指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。

 

(三)XML对XSD 的引用

此文件包含对 XML Schema 的引用:



代码解释:

      xmlns="http://www.w3school.com.cn"规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素都被声明于 "http://www.w3school.com.cn" 这个命名空间。

      一旦您拥有了可用的 XMLSchema 实例命名空间:

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"您就可以使用 schemaLocation 属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置:

      xsi:schemaLocation="http://www.w3school.com.cn   note.xsd"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: