




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是SchemaXML Schema是用一套预先规定的XML元素和属性,这些元素和属性定义了XML文档的结构和内容模式。 XML Schema规定XML文档实例的结构和每个元素/属性的数据类型。数据库XML文档数据文档数据表结构SQLXPathSchema为何需要Schemal DTD 的局限性的局限性 DTD不遵守不遵守XML语法语法(写(写XML文档实例时候用一文档实例时候用一种语法,写种语法,写DTD的时候用另外一种语法)的时候用另外一种语法) DTD数据类型数据类型有限(与数据库数据类型不一致)有限(与数据库数据类型不一致) DTD不可扩展不可扩展 DTD不支持命名空间(命名冲突)不
2、支持命名空间(命名冲突)l Schema的新特性的新特性 Schema基于基于XML语法,可以用处理语法,可以用处理XML文档的工文档的工具处理具处理 支持命名空间,一个支持命名空间,一个xml文档可以调用多个文档可以调用多个Schema文档文档 Schema大大扩充了数据类型大大扩充了数据类型,可以自定义数据类,可以自定义数据类型型 Schema支持元素的继承支持元素的继承 Schema支持属性组支持属性组4.1 Schema的文档结构 所有Schema文档使用schema作为其根元素用于构造schema的元素和数据类型来自/2001/XMLSchema命名空
3、间本schema定义的元素和数据类型属于http:/mynamespace/myschema命名空间Unqualified表示所有标记和属性不限定在一个命名空间内 students?4.2 Schema的数据类型 简单类型 内置的数据类型(built-in data types) 基本的数据类型 扩展的数据类型 用户自定义数据类型(通过simpleType定义) 复杂类型(通过complexType定义)简单数据类型 基本型(p81图、表) 数据类型描述string由字符组成的字符串boolean布尔值:true或falsedecimal任意精确度的十进制数float单精度浮点数double双
4、精度浮点数dateTime 指定日期时间数据,格式CCYY-MM-DDThh:mm:ss简单数据类型 派生型( p81图) 数据类型描述integer整数的标准数学概念long长整数nonNegativeInteger 大于或等于0的整数positiveInteger大于0的整数students用户自定义简单数据类型simpleType 学号 电话 用户自定义简单数据类型simpleType 自定义数据类型的内容模式 用户自定义简单数据类型simpleType 电话 xs:element/ xs:simpleType xs:restriction base=“xs:string” xs:pat
5、tern value=“d11”/ /xs:restriction /xs:simpleType 用户自定义简单数据类型simpleType 邮编 xs:element/ xs:simpleType xs:restriction base=“xs:string” xs:pattern value=“d4-d8|d11”/ /xs:restriction /xs:simpleType 示例(1) 为准考证号定义一种数据类型示例(2) 大于等于1000小于10000的整数示例(3) 5-8位密码示例(4) Enmueration枚举restriction中可以使用的关键字及含义特性特性描述描述en
6、umeration在指定的数据集中选择,限定用户的选值在指定的数据集中选择,限定用户的选值fractionDigits限定最大的小数位,用于控制精度限定最大的小数位,用于控制精度length指定数据的长度指定数据的长度maxExclusive指定数据的最大值(小于)指定数据的最大值(小于)maxInclusive指定数据的最大值(小于等于)指定数据的最大值(小于等于)maxLength指定长度的最大值指定长度的最大值minExclusive指定最小值(大于)指定最小值(大于)minInclusive指定最小值(大于等于)指定最小值(大于等于)minLength指定最小长度指定最小长度patte
7、rn指定数据的显示规范指定数据的显示规范students复杂数据类型的声明语法 内容模型定义(包括子元素和属性的声明)complexType元素使用示例 studentscomplexType与simpleType区别 simpleType类型的元素中不能包含元素或者属性。 当需要声明一个元素的子元素和/或属性时,用complexType。 当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType。Student学生学生成绩管理系统中学生成绩表(sc)中有学生的学号(sno)、课程编号(cno)、学生成绩(grade)和所在学年(year)。要求:1、学生学号是11位09的数
8、字2、学生成绩在(0,100之间课堂练习回顾 Schema结构 数据类型 基本数据类型 simpleType complexType4.4模式文件中元素的声明 简单元素的声明 复杂元素的声明 语法:模式文件中的元素声明 声明元素的方法1使用内置的数据类型声明元素的方法使用用户定义的simpleTypexs:element name=geometry xs:simpleType xs:restriction base=xs:string xs:enumeration value=triangle/ xs:enumeration value=rectangle/ xs:enumeration va
9、lue=square/ /xs:restriction /xs:simpleType /xs:element xs:simpleType name=shapes xs:restriction base=xs:string xs:enumeration value=triangle/ xs:enumeration value=rectangle/ xs:enumeration value=square/ /xs:restriction /xs:simpleType xs:element/2自定义枚举型数据类型声明元素的方法 使用complexType3匿名类型的定义?xml version=“1
10、.0” encoding=“gb2312”购房合同共10条匿名类型定义,contract元素使用了该类型4.4 模式文件中的属性声明模式文件中的属性声明 requiredoptional简单类型 shuxing把属性附加在元素上,属性最后定义元素属性默认值 都使用default属性进行声明 当属性不出现时,默认属性值被应用 当元素不出现时,默认的元素值不被应用 当元素内容为空时,默认元素值被应用 Fixed值和default值概念互斥,不能同时声明子元素出现次数设置 Xml schema提供两个属性设置一个元素可以出现的合法次数 minOccur:元素可以出现的最少次数 maxOccur:元素
11、可以出现的最大次数 默认值为1,如果被省略,元素必须出现一次且只能出现一次 如果把minOccur设置为“0”,表示元素可有可无 maxOccur设置为unbounded(无限制),表示元素至少出现minOccur此,但没有上限 4.5 在XML模式中创建元素和属性组在xml模式中,可以将相关的元素和属性结合为组,成为公共可以调用的组。 sequence:指定组中的子元素按照一定顺序进行出现 group:用通用名组合成组 choice:同一个时刻只能使用组中子元素的其中之一 all:组中的子元素在父元素内可以按照任意顺序出现 attributeGroup:创建属性组。sequence元素 作用
12、:给一组元素一个特定的序列(如果是可选的,也可以不显示) 示例: elephantbearpandachoice元素 作用:多个元素互斥,允许唯一的一个元素从一个组中被选择 语法:属性:minOccurs/maxOccurs 示例: group元素 作用:把一组元素声明组合在一起,以便它们能够一起被复合类型应用 语法: (要组合的元素的声明) 属性:name/ref为组分配名字,不能包含括号在复合元素中引用一个组group元素 all元素 作用:常用于group和complexType元素中,允许所定义的元素可以按照任意顺序显示 all元素的子元素默认是必须要出现的,而且每次最多一次 语法:
13、要组合的元素的声明attributeGroup元素 作用:把一组属性声明组合在一起,以便可以被复合类型应用 属性:name/ref 属性属性1的声明的声明 属性属性2的声明的声明 。 属性属性n的声明的声明 attributeGroup元素 4.6 模式重用 模式(schmea)的一个关键特征是支持高度重用性。在一个模式中声明的组件能够被另一个模式重用。 include元素 import元素include元素 include元素用来包含或引用定位在一个明确地址的外部模式。 语法: include元素包含2个属性: id用来指定元素的ID。ID必须是唯一的,但ID属性是可选择的。 schemaL
14、ocation指定模式文件的物理地址。 include元素在XSD文档中可以多次出现, schema元素是include元素的父元素目标命名空间 include元素允许引用任何在同一目标命名空间的上下文中被定义的外部模式。 使用schema元素的targetNamespace属性来声明目标命名空间。 .举例import元素 import和include完成同样功能,但import允许访问来自多个不同目标命名空间的外部模式。 语法: Import 元素包含3个属性: id用来指定元素的ID。ID必须是唯一的,但ID属性是可选择的。 namespace指定被引入模式所属名称空间URI。 schemaLocation指定模式文件的物理地址。举例学生成绩管理系统中学生成绩表(sc)中有学生的学号(sno)、课程编号(cno)、学生成绩(grade)和所在学年(year)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中基试题及答案
- 重庆市綦江区南州中学2025届高二生物第二学期期末学业水平测试模拟试题含解析
- 浙江省余姚市余姚中学2024-2025学年生物高二下期末检测模拟试题含解析
- 云南省河口县民中2024-2025学年数学高二下期末学业水平测试试题含解析
- 茶楼茶叶与茶楼营销推广合作合同
- 成都高空广告安装公司高空作业现场管理合同
- 代驾服务合同范本(含合同解除)
- 高端人才国际派遣与职业规划服务合同
- 财产保全执行合同模板
- 食品代理合同集锦(16篇)
- 手外伤及断肢(指)再植(讲稿)
- 新版心肺复苏流程图
- DB32/T 4444-2023 单位消防安全管理规范-高清版
- 初三物理滑轮习题
- 东南大学医学三基考试外科选择题及答案
- (2.1.1)-第2章颚式破碎机
- GB/T 9724-2007化学试剂pH值测定通则
- 拓展训练项目孤岛求生游戏规则与分享参考范本
- DS6-K5B计算机联锁演示教学课件
- 2022年成都信息工程大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)
- 小抄写员课件
评论
0/150
提交评论