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 来转换 Schema4 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"
相关文章推荐
- XML 从入门到精通(二)DTD教程
- JavaScript教程--从入门到精通(一)
- [孙鑫]VC++从入门到精通开发详解视频教程(swf格式)
- Android Studio2.0 教程从入门到精通Windows版
- 查询操作 -- Django从入门到精通系列教程
- 【TRIO-Basic从入门到精通教程十四】Trio实现单位置轴多色标捕捉
- 阿里工程师分享Python入门到精通需要学习的教程
- mybatis实战教程(mybatis in action),mybatis入门到精通
- 【TRIO-Basic从入门到精通教程六】3D仿真、同步控制的使用1
- jbpm视频教程下载 jbpm入门到精通实战教程
- VS2010之MFC入门到精通教程
- mybatis实战教程(mybatis in action),mybatis入门到精通
- XML Schema入门---4.2.2: 在XML中引用无命名空间的Schema
- 韩顺平_php从入门到精通_视频教程_第2讲_html运行原理②_html文件基本结构_html元素和属性_学习笔记_源代码图解_PPT文档整理
- mybatis实战教程(mybatis in action),mybatis入门到精通
- 韩顺平_php从入门到精通_视频教程_第5讲_无序列表_有序列表_框架_学习笔记_源代码图解_PPT文档整理
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis实战教程(mybatis in action),mybatis入门到精通
- Android OpenGL ES 开发教程 从入门到精通
- 韩顺平_php从入门到精通_视频教程_第15讲_di-css作业评讲①_学习笔记_源代码图解_PPT文档整理