XML模式Schema(XML4).ppt_第1页
XML模式Schema(XML4).ppt_第2页
XML模式Schema(XML4).ppt_第3页
XML模式Schema(XML4).ppt_第4页
XML模式Schema(XML4).ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第二卷: XML命名空间和XML模式,XML模式- (Schema),2,回顾,理解命名空间作用 熟悉命名空间的语法、定义 了解命名空间与DTD验证关系 编写程序识别命名空间,3,目标,DTD的局限性和XML模式 XML schema的语法:数据类型、结构、属性 Schema是面向数据类型的,数据类型是可以派生重复使用 Schema与目标名称空间的关系 使用schema验证XML文档的步骤,4,DTD的局限性,语法结构问题: DTD的语法与XML语法不一样,使用 DOM、XPath、XSLT等技术无法处理它, 为自动化文档处理带来困难; 数据类型问题: DTD的数据类型有限,也不能自由扩充 不利于在XML数据交换场合验证数据类型。 文档结构问题: DTD中,所有元素、属性都是全局的, 无法声明仅与上下文位置相关的元素或属性 名称空间问题: DTD中没有名称空间的概念,不直接支持 名称空间,XML schema解决DTD的局限性,5,Schema是XML文档,遵循XML语法,根元素是schema,采用了名称空间”/2001/XMLSchema”, ,注意: schema文档以*.xsd来作为扩展名 schema元素包含各种属性,需要特别留意的是”targetNamespace”属性 和XML实例文档的配合使用。,6,Schema元素属性:targetNamespace (1),无targetNamespace属性,all.xsd,对应的XML实例文档 all.xml,关联,7,Schema元素属性:targetNamespace (2),any.xsd,对应的XML实例文档 any.xml,要有空格,8,代码,target.xsd,9,示例,按照左边示意图,设计 XML Schema? 与DTD对照下,schma是 否基于XML语法结构? schema中包含哪些元素 标记 它比DTD好在哪些方面?,10,代码-1,myclassmate.xsd,11,代码-2,myclassmate.xml,schema用来描述、约束XML文档结构和内容!,12,schema顶层结构,“schema”元素是W3C模式的根元素,包含所有的元素、属性、标记法声明以及数据类型、元素组、属性组定义。,13,声明元素:xs:element-1,xs:element元素用于声明XML元素,可以用来指定一个元素的名称、数据类型,或引用已声明的全局元素。 元素声明分为两种: 全局元素声明(顶层元素):出现在schema元素中。 局部元素声明:作为complexType定义的一部分出现,仅适用于其出现的上下文。,14,声明元素:xs:element-2,element元素常用属性,15,示例,要求:根据下列示图设计schema文档?,16,代码,17,代码,总结: 1.element元素放在以下 元素里: schema、choice、sequence 2.element元素里可以有下列子 元素: simpleType、complexType只能 出现一次,用来自定义元素的 类型。,18,XML模式中数据类型,schema数据类型,基本数据类型,用户自定义数据类型,简单或派生数据类型,复杂数据类型,19,常用基本数据类型,string,boolean,nonNegativeInteger unsignedLong unsignedInt unsignedShort unsignedByte positiveInteger,nonPositiveInteger negativeInteger,float,double,duration,PnYnMnDTnHnMnS “PT2H4M23S” “P1Y6M0DT0H0M0S”,dateTime,CCYY-MM-DDT-hh:mm:ss 2009-03-16T-17:20:59,date,CCYY-MM-DD,time,hh:mm:ss,gYearMonth,CCYY-MM,gMonthDay,-MM-DD,gYear,CCYY,gMonth,-MM-,gDay,-DD,Base64Binary,hexBinary,基本数据类型无子元素或属性,20,用户自定义数据类型,简单类型:simpleType 复杂类型:complexType 派生类型:扩展派生 extension 为类型添加属性或元素,约束派生 restriction,为类型约束属性或元素,21,用户自定义数据类型(1),简单类型:simpleType 特点: 从已经定义的简单类型中再派生出的简单类型; 简单类型不能包含任何元素或属性,只是用来定义元素类型或属性类型。 常用于schema、element、attribute元素中 它常包含子元素restriction,22,示例-1,分析下列schema文档,全局元素,level.xsd,23,代码-2,24,用户自定义数据类型(2),复杂类型:complexType 特点: 指示一个元素使用的属性、子元素、文本内容等。 常用于schema、element(仅一次)元素中 它常包含子元素choice、sequence、attribute、simpleContent、complexContent等 注意complexType的属性:abstract,如果属性值为true,该类型不能被引用。,25,示例,分析下列schema文档?,deptinfo.xsd,26,代码,有没有发现schema文档有什么问题吗?,27,用户自定义数据类型(3),派生(扩展)类型:extension,基于复杂类型派生 特点: extension 元素只用于元素complexContent或simpleContent中,用于派生出新的数据类型。 在这两种元素下, extension 元素的结构不一样。 元素complexContent或simpleContent存在于元素complexType。 simpleContent用于从simpleType类型派生 complexContent用于从complexType类型派生。,28,示例,extension元素放在元素 complexContent元素里, 可以包含下列子元素: choice、sequence、attribute 等元素。,29,示例,extension元素放在元素 simpleContent元素里, 可以包含下列子元素: attribute,member.xsd,30,代码,31,用户自定义数据类型(4),派生(约束)类型:restriction 特点: restriction元素用于complexContent、simpleContent、 simpleType元素中,以约束形式派生出新的类型。 当约束基类类型为complexType, restriction元素在complexConten或simpleContent元素里; 当约束基类类型为simpleType, restriction元素在simpleType元素里; 在约束中出现的属性或元素的取值空间只能小于或等于原取值空间。,32,示例,按照图示设计sc

温馨提示

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

评论

0/150

提交评论