《XML模式定义》PPT课件.ppt_第1页
《XML模式定义》PPT课件.ppt_第2页
《XML模式定义》PPT课件.ppt_第3页
《XML模式定义》PPT课件.ppt_第4页
《XML模式定义》PPT课件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章,XML模式定义,本章目标,了解命名空间的作用 掌握命名空间的使用 了解Schema的作用和特点 掌握Schema的结构 掌握Schema的数据类型 掌握Schema复合数据类型的定义和使用 掌握Schema的元素定义 掌握Schema的属性定义 掌握Schema的模式重用方式,命名空间,XML提供的避免元素命名冲突的方法 名称空间在XML文档中的具体应用,是通过在元素的标记名前添加一个独特的标识符来指明该标记的归属,因而这个标识符在XML文档中应该是唯一的。,创建命名空间,XML的命名空间本身就是一个URI(统一资源标识符)。 命名空间通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识。 在XML中,命名空间需要在XML文档的开头部分声明,一般放置在元素的开始标记(根元素)处,语法如下: 其中:标识符为定义的命名空间的前缀,是可选的;URI是为当前命名空间选择的网址,命名空间,命名空间的标识符不允许使用xml,html, xsl,xmlns等保留字。 XML解析器在碰到一个命名空间定义之后,就会把其中的标识符与对应的URI绑定在一起。, 张小龙李平 5555555 ,默认命名空间,如果在XML文档中为某个元素定义了默认命名空间,则该元素及其所有未加命名空间标识符的子元素均将归属于这个默认的命名空间,除非它们拥有另外指定的命名空间标识符。 定义格式:, 张小龙李平 5555555 ,默认命名空间,一个默认命名空间的作用范围仅限于定义这个命名空间的元素及其子元素。 如果在为一个元素定义默认命名空间时未给出其URI参数,那么这个元素将不属于任何命名空间。 对元素的属性来说是不存在默认命名空间的。,Schema概述,XML Schema是2001年5月正式发布的W3C(万维网联盟)的推荐标准 DTD存在一些缺陷: 一是它是用不同于XML的语言编写的 二是DTD不支持名称空间 三是DTD存在支持继承和子类方面的局限性 四是DTD没有数据类型的概念,无法对特定元素施加数据类型 XML Schema正是针对这些DTD的缺点而设计的,具有很强的描述能力、扩展能力和处理维护能力。 XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了文档的结构和内容模式。 XML Schema不仅可以定义XML文档的结构而且还允许约束文档的内容 一个 XML Schema自身就是一个XML文档,Schema概述,XML Schema也是Web Services技术中需要使用的一个基本工具 目前主要有两种重要的模式:Microsoft XML Schema和W3C XML Schema,本章主要讨论W3C XML Schema,Schema的格式,一个XSDL(XML Schema Definition Language)文档由元素、属性、名称空间和XML文档中的其它节点构成的 至少要包含:schema根元素和XML模式名称空间的定义、元素定义。,Schema的作用,Schema文档就是用来验证XML文档的正确性,用来判断实例是否符合模式中所描述的所有约束。 Schema主要检验如下内容: 验证数据的显示格式正确及是否超出值的范围。 验证所有必需的信息都存在。 确保不同使用者对文档理解的方式相同 Schema文档还在一定程度上扩充实例: 为元素和属性添加默认值和固定值。 使具有简单类型的元素和属性值中的空白符规范化。,Schema根元素,根元素表明文档类型,还包括模式的约束、XML模式名称空间的定义,其他名称空间的定义、版本信息、语言信息和其他一些属性。 ,元素声明,XSD中的元素是利用element标识符来声明的 name是元素类型的名称 type属性是必要的,说明元素的数据类型。 minOccurs定义了该元素在父元素中出现的最少次数(默认为1,值为大于等于0的整数) maxOccurs定义了该元素在父元素中出现的最多次数(默认为1,值为大于等于0的整数),2019/6/12,16,2019/6/12,17,设置默认值和固定值,默认值和固定值通过给空元素增加值的方式来扩展实例 如果元素为空,就填入默认值。 注意:元素声明中“空”的定义根据数据类型不同而有所不同 固定值与默认值在相同的情况下添加,它们的差别仅在于如果元素拥有一个值,则该值必须和固定值相等,2019/6/12,18,引用元素和替代,引用是利用element标记符的ref属性实现的 主要适用于避免在文档中多次定义同一个元素 ,Schema属性声明,定义属性方法如下: 复杂类型的元素,使用ref属性通过名称来引用属性 use属性用于指示属性是必需的还是可选的,为属性指派类型,属性声明有三种方式: 1. 在属性声明中通过用type属性指定命名简单类型。 2. 通过指定simpleType子属性来指定匿名类型。 3. 既没有type属性,又没有simpleType子属性,从而不指定特定类型。,2019/6/12,21,2019/6/12,22,属性的默认值和固定值,默认值和固定值的方式增加未出现的属性来扩充实例 默认值和固定值分别通过default和fixed属性设置 两个属性只能出现其中之一,它们是互斥的 如果属性在元素中缺失,它的默认值将会被填入。 如果属性出现,且包含任意值,它将保持该值不变。,2019/6/12,23,属性组,attributeGroup元素:将多个属性打包成一个组来处理 ,Schema的数据类型-简单类型,原子类型(不可分割的类型,如string, integer等系统内建的类型)、列表类型、联合类型合起来统一称为简单类型。 原子类型具有不可分割的值,如10和large 列表类型的值为用空白符隔开的原子值列表 联合类型的值可以是原子值,也可以是列表值,区别在于该类型的有效值集是两个或多个其他简单类型值空间的联合。,2019/6/12,26,XML Schema支持的部分简单类型,简单类型命名定义,简单类型既可以为命名简单类型又可以为匿名简单类型。 命名简单类型总是在全局定义,而且要求在模式的数据类型中具有唯一名称。 类型的名称必须为XML无冒号名称,即必须是字母或下划线开始,只能包含字、数字、下划线、连字符和句号。,简单类型的限制,每个简单类型都是从另一个简单类型派生而来,这另一个简单类型称为基类型。 派生可以从原子类型,也可以从用户定义的简单类型派生 myInteger类型进一步限制: ,2019/6/12,29,枚举的简单类型定义,2019/6/12,30,列表类型,列表类型是由一组原子类型组成 通过引用现有的原子类型建立新的列表类型 myInteger的列表类型 20003 15037 95977 95945,2019/6/12,31,从category类型定义新的列表类型cateList,限制cateList导出只有三个项的threeBookCate类型 小说 散文 传记,2019/6/12,32,联合类型,联合类型(Union Type)包含了多个原子类型或者列表类型 gradeUnion联合类型由一个原子类型和一个列表类型构成,2019/6/12,33,Schema的数据类型-复杂类型,复杂类型的元素拥有子元素和属性,也可以有字符内容 复杂类型有四种不同的内容类型:简单类型、纯元素类型、混合类型及空类型。 no.1 三国演义 罗贯中 宴桃园豪杰三结义 斩黄巾英雄首立功 话说天下大势,分久必合,合久必分。 ,Schema的数据类型-复杂类型,complexType元素创建 单个complexContent子元素,可以使用它从一个复杂类型派生出新的复杂类型。 单个simpleContent子元素,用于从简单类型派生复杂类型 组(group、all、choice或sequence)加属性,用于定义一种非派生于特定类型的复杂类型。,内容类型为简单类型,简单类型只允许有字符数据,它没有子元素 ,内容类型为纯元素类型,纯元素内容只允许有子元素,而没有字符数据内容 ,内容类型为混合类型,混合内容既允许有字符数据又允许有子元素 ,内容类型为空类型,空内容既不允许有字符数据也不允许有子元素。带有空内容的元素通常在属性中具有值。 ,利用组合器控制结构,模式组允许把子元素声明或引用组合起来,从而构建更有意义的内容模型 模式组共有3种:all、choice、sequence,sequence组合器,定义了一列元素并且必须按照模式中指定的顺序显示,所有子元素,如果出现的话,都必须按照该顺序出现。示例如下: ,choice组合器,用来声明只有一个相容元素必须出现,用于互斥情况。语法如下: ,all组合器,表示符合元素声明的所有元素都应该出现(以任何顺序)且只能出现一次。all组合器与choice和sequence不同: ,模式重用,在一个模式中声明的组件能够被另一个模式重用 可以通过使用include元素和import元素为实现模式的重用,include元素, 其中,id用来指定元素的ID,ID必须是唯一的。 schemaLocation指定模式文件的物理地址 include元素在一个XSD文档中可以多次出现。 注意:要包含和已包含的模式文件都必须属于同一个目标命名空间,import元素,import元素允许访问来自多个不同目标名称空间的模式的组件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论