Schema就是用来约束XML文件的,什么是约束?就是对XML文件里元
素的规范,规范它的格式,属性等。我们设置Schema,就是设置XML的
规矩,使得XML只能按照我们的思路进行。
首先创建一个Schema文档,步骤如下:
创建一个schema:创建一个后缀为xsd的文件,文件格式为xml。
a: 有文档说明
b: 以schema标签为根标签
c: 在schema标签中添加命名空间:
1)首先引入xmlns:xs="http://www.w3.org/2001/XMLSchema"
。
2)targetNameSpace="http://www.feicui.com/newschema"声
明一个我们自己的命名空间(uri)。
3)xmlns:myns="http://www.feicui.com/newschema"。
4)elementFormDefault="qualified"严格按照我们的schema
文档约束我们要编写的xml文件。
1.4 在schema标签中添加其他标签来编写我们的xml约束
然后对Schema进行编辑,达到约束XML的目的
1 对简单内容的约束:
a: 首先在我们要约束的元素中添加一个simpleType的标签
b: 然后在simpleType中添加一个restricetion标签,这个标签中
有一个重要的属性:base,需要填入我们这个信息类型是基于哪一种类
型的。
c: 在restricetion标签中,我们就可以加入我们对信息内容的一
个具体的约束了:
a:枚举约束 b:对大小值的限定 c:样式约束
2 复合元素的约束:
首先在要约束的元素中添加一个complexType的标签。
然后填入指示器 其中指示器包括:
顺序指示器:
a:sequence:指定子元素必须出现并要按照定义的顺序依次出
现
b:all:指定子元素可以以任意顺序出现且只出现一次
c:choice:指定子元素中仅可以出现一次(可用maxOccurs修
改)
数量指示器:这种指示器不是以元素(标签)的形式出现,而
是以子元素的属性的方式出现。 minOccurs 设置出现的最少次数;
maxOccurs设置出现的最多次数
填入指示器后,添加子元素,子元素可以使复合元素也可以使
简单元素。
3 属性的定义
a:定义的格式:<xs:attribute name="xxx" type="yyy"/>
b:属性定义可以定义在complexType中
c:属性定义中use表示这个属性是否需要出现在元素中
optional:可出现可不出现
prohibited:不能出现
required:必须出现
d:如果要在简单元素中添加属性,还是需要complexType,只
是我们需要在这个标签中使用simplecontent标签,其中使用extension
标签,用来扩展我们的简单元素,添加属性。
4 将schema文档引入要约束的XML文件
a)xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
要引入我们的shema文档需要使用这个命名空间中的属性。
b)
xsi:schemaLocation="http://www.feicui.org/feicuischema
newschema.xsd" 使用上面引入的命名空间xsi中的schemalocation读取
我们的schema文档,首先要填入我们的schema文档的命名空间的uri,
然后空格,再填入我们的schema文档的名字。
c)在通过引入命名空间的方法,将我们的schema文档的命名
空间引入。
得道升仙!!!