初识Schema
来源:互联网 发布:2017年京东抢购软件 编辑:程序博客网 时间:2024/04/30 08:29
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文档的命名
空间引入。
得道升仙!!!
- 初识Schema
- 初识XML(三)Schema
- Schema
- schema
- Schema
- schema
- Schema
- Schema
- Schema
- Schema
- Schema
- schema
- Schema
- Schema
- Schema
- Schema
- Schema
- schema
- poj 3667Hotel(经典线段树)
- Android之基于XMPP协议即时通讯软件(一)
- 安卓通过代码获取faceBook的Key Hash
- 应用程序正常初始化失败0xc0150002 错误
- 使用LruCache和DiskLruCache实现内存磁盘二级图片缓存
- 初识Schema
- Unable To Import Or Enter Sale Order - ORA-20001: APP-FND-01564: ORACLE error - 1422 in get_seq_info
- 二叉树的遍历方法及根据前/中(后/中)序遍历求后(前)序遍历的代码实现
- 齐俊元:怎样设计体验出色的企业级应用
- 用VS编译出不依赖VC运行库的可独立运行的程序
- JAVA中的向下转型(downcasting)及泛型与向上转型(upcasting)及RTTI、反射机制
- 19.周期性定时计划任务
- 关于解决PHP报错“Notice:Use of undefined constant error” 解决办法
- xml的基础总结