边看视频边写笔记(粗略版)
一、Schema的概念
是一种约束XML的技术,可以克服DTD的局限
与DTD的比较
XML Schema是xml的约束技术,出现的目的是为了替代dtd
本身也是一个xml,非常方便使用xml的解析引擎进行解析
对名称空间有非常好的支持
支持更多的数据类型,并且支持用户自定义数据类型
可以进行语义级别的限定,限定能力大大强于dtd
相对于dtd不支持实体
相对于dtd复杂的多,学习成本比较的高
学习要求:
二、Schema约束快速入门
1、扩展名是.xsd,但是一个XML文档
2、XML Schema称为模式文档,遵循这个文档书写的xml文件称之为实例文档
3、和XML文件一样,一个XML Schema必须有一个根节点,但这个根几点名称为Schema
4、编写一个XML Schema的约束文档后,通常需要把这个文件中声明的元素绑定在一个URI地址上,在XML Schema
技术有一个术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间上,以后XML文件就可以通过
这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。
三、Schema入门案例
四、名称空间
本质:独一无二的名称,通常用域名
作用:用于标示元素,只是一个名称而已,并没有告诉具体的地址
图解:
第一步:1.xml文件被美利坚合众国.xsd和中华人民共和国.xsd两个约束文档约束
1.xml如果想创建一个公民元素,这两个约束文档都有公民的元素,那么如果区别公民元素属于谁的?
只有这样:
第二步:公民前面的名称空间太长了,我们可以这样简化:
第三步:名称空间只是一个名字而已,这个公民元素如何找到约束它的文档呢?可加入schemaLocation的元素
第四步:XML中的每个元素都有约束文档,schemaLocation元素又来自哪里,这就是来自著名的域名空间
五、
1、默认名称空间
2、引入多个名称空间
3、不使用名称空间引入XML Schema文档
ps:参考w3c文档