第六章XML中Schema-2.ppt_第1页
第六章XML中Schema-2.ppt_第2页
第六章XML中Schema-2.ppt_第3页
第六章XML中Schema-2.ppt_第4页
第六章XML中Schema-2.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、Schema,Schema的数据类型,简单类型 1. 简单类型的种类 原子类型(不可分割的类型,如string, integer等系统内建的类型)、列表类型、联合类型合起来统一称为简单类型。 原子类型具有不可分割的值, 列表类型的值为用空白符隔开的原子值列表, 联合类型的值可以是原子值,也可以是列表值。,XML Schema支持的部分简单类型,简单类型命名定义 简单类型既可以为命名简单类型又可以为匿名简单类型。 命名简单类型总是在全局定义,而且要求在模式的数据类型中具有唯一名称。 类型的名称必须为XML无冒号名称,即必须是字母或下划线开始,只能包含字、数字、下划线、连字符和句号。,XML Sc

2、hema支持的部分简单类型,数据类型,XML Schema已经提供了40多种的数据类型,把数据已经分的很具体了,但有时为了更好的满足需要,Schema还可自定义的数据类型。自定义数据类型是指以一个XML Schema类型为基础,添加一些限制条件,使之成为一个新的类型。自定义数据类型使用标记,通过这个标记可以给XML Schema提供的数据类型添加一些限制,从而构造出新的类型。常用的有以下6中类型 :,1限定数值范围 2限定数值位数 3限定字符串范围 4枚举类型 5列表类型 6联合类型,数据类型,1限定数值范围,XML Schema中提供了4种标记用来限制数值的范围,、和它们都有一个“value

3、”属性,意义分别为:,(1) 表示小于等于“value”属性的值。 (2) 表示大于等于“value”属性的值。 (3) 表示小于“value”属性的值。 (4) 表示大于“value”属性的值。,数据类型,1限定数值范围, ,上面这段代码定义了一个“score”标记,标记值的类型为“simpleType1”。接下来的6行定义了一个新的类型,名称为“simpleType1”。标记的“base”定义了该类型的基本类型是“float”,接下来的两行限定了数值范围是0100之间,包括0和100。,数据类型,2限定数值位数,在XML Schema中有一个“decimal”数据类型,用来准确地表示数 值

4、。通过标记和来准确限制数值。其中:, ,用来限制数值的总位数。,用来限制小数点后面的位数。,数据类型,3限定字符串范围,限定字符串范围分为两种:限定字符串长度和限定字符串内容。 XML Schema通过、和来限定字符串 的长度,用来限定字符串的内容。, ,数据类型,3限定字符串范围,XML Schema中的标记可以限定字符串的内容,例如:, ,上面这段代码定义了一个“tel”标记,该标记的值要满足正则表达 式“(0d2,3-)?d7,8”所限定的值。这个表达式的意义是,“d”表示任意数字,“0d2,3”表示区号,以“0”开头后面是23位数字。“-”是固定字符,“?”表示有0个或1个,“d7,8

5、”表示7到8位数字。所以,该表达式所表示的值是一个可以带区号,也可以不带区号的电话号码。,数据类型,4枚举类型,XML Schema中使用标记来定义枚举类型。例如:, ,数据类型,5列表类型,在XML Schema中,用标记来定义列表类型。例如:, ,在定义列表类型的同时,还可以指定列表的长度或长度范围,分别 用标记或、来指定。例如:, ,列表类型, , 中国 新加坡 中国 新加坡 日本 韩国 美国 英国 加拿大 美国 英国 加拿大 澳大利亚,联合类型,联合类型(Union Type)包含了多个原子类型或者列表类型。他们的值可以是联合类型中所包含的这些原子类型或列表类型中的任何一个类型实例。

6、gradeUnion联合类型由一个原子类型和一个列表类型构成,联合类型, , ,声明元素的方法,使用用户定义的simpleType, , ,复杂类型标记子标记的定义,复杂类型的标记是指含有子标记或属性的标记。在XML Schema中,用标记来定义复杂类型的标记。通过可以指定标记与标记或标记与属性的从属关系。,定义子标记的语法格式为:, 子标记描述 ,complexType与simpleType区别,simpleType类型的元素中不能包含元素或者属性。 当需要声明一个元素的子元素和/或属性时,用complexType; 当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType

7、。,复杂类型标记子标记的定义,一个实例:, ,这段程序定义了4个标记,标记“eng”、“math”、“physics”是“score”的子标记。在标记块中,通过标记封装了一组标记,表示这些标记的出现有固定的顺序。,复杂类型标记子标记的定义,除了标记外,其他可选的标记还有和。表示其中包含的标记可以无顺序地出现一个或多个。表示其中包含的标记可以任意出现一个。,在XML Schema中,用“minOccurs”和“maxOccurs”属性来定义子标记出现的次数,分别表示最少出现次数和最多出现次数。有以下几种情况:,(1)maxOccurs=”*”,表示该标记可以出现一次或多次。 (2)maxOccu

8、rs=”1”,表示该标记只能出现一次。 (3)minOccurs=”0”,表示该标记可选,即出现0次或1次。,除了上述情况,还可以指定其他具体的值。,复杂类型标记子标记的定义,一个例子 :, ,这段程序说明,“name”标记是一个必须出现的标记,“sex”标记没有这两个属性,也表示是必须出现的标记。“age”是一个可选的标记。,sequence组合器, 多媒体技术基础 林福宗 37 此书获2005年全国优秀畅销科技类图书! ,choice组合器, 多媒体技术基础 此书获2005年全国优秀畅销科技类图书! ,Sequence与choice的嵌套使用, 多媒体技术基础 林福宗 谢红 此书获2005

9、年全国优秀畅销科技类图书! ,all组合器, , 多媒体技术基础 林福宗 多媒体技术基础 林福宗 37 此书获2005年全国优秀畅销科技类图书! ,Schema的名称空间,名称空间:是XML Schema的重要部分,是一种避免元素命名冲突的方法 名称冲突:可能会出现多个不同的XML文档使用同一个名字来描述不同类型的元素,例1 苹果 香蕉 ,例2 饭桌 120公分 80公分 ,名称冲突问题,JSP深入编程张三作家XML入门李四教师,名称冲突问题,声明名称空间,第一种形式: 元素名是指你在哪一个元素上声明名称空间,在这个元素上声明的 名称空间适用于声明它的元素和属性,以及该元素内容中的所有元 素及

10、其属性。xmlns:prefixname作为元素的属性名,属性的值是一 个URI引用,是标识改名称空间的名称空间名字。其中prefixname给 出名称空间前缀的名字,该前缀用于将元素及属性的名字与URI关联在一起。要注意的是,在这样的声明中,名称空间的名字不能为空(“”)。如果有两个URI,其组成字符完全相同,可以认为他们标识了统一个名称空间。 来自于XML名称空间的名字可以作为限定名(qualified names)出现。限定名包含了以冒号(:)分隔的名称空间前缀和一个本地部分(local part)映射到URI引用的名称空间前缀选择了一个名称空间。,声明名称空间,例子: ,名称空间声明可

11、以出现在文档中的任何开始标记中,它的作用域是它在其开始标记中出现的元素,以及其所有子元素等。,声明名称空间,第二种形式: 这种声明形式没有给出名称空间的前缀名,URI所标识的是缺省的名称空 间。在这样的缺省声明中,属性值可以为空(“”)。 例子: 表示声明了一个缺省的名称空间,hr元素及其内容中所有的没有前缀的元 素都属于/hr所标识的名称空间,除非被hr元素内容中其 它的缺省名称空间声明所覆盖。,32,JSP深入编程张三作家XML入门李四教师,解决命名冲突,Schema的名称空间,使用前缀和名称空间来解决命名冲突问题:在元素的开始标签中加前缀,再添加xmln

12、s用来表示元素的属性 例1,修改为 例2,修改为 ,Schema的名称空间,名称空间的作用域:声明该名称空间的元素及该元素的所有子元素,除非在该元素的某一个元素上又声明了相同的名称空间。, 多媒体技术基础 林福宗 37.00 清华大学出版社 7-302-05705-2 ,Schema的名称空间,模式文档中名称空间的声明,方法1:将XML Schema名称空间映射到像xsd或xs这样的前缀,使目标名称空间成为默认名称空间 方法2:将前缀映射到目标名称空间,使XML Schema名称空间成为默认名称空间 方法3:将前缀映射到所有的名称空间,方法1:将XML Schema名称空间映射到像xsd或xs

13、这样的前缀,使目标名称空间成为默认名称空间, ,方法2:将前缀映射到目标名称空间,使XML Schema名称空间成为默认名称空间, ,方法3:将前缀映射到所有的名称空间, ,Schema的引用,引用XML Schema文档 当Schema文档不包括targetNamespace属性时,在XML文档的根元素中 通过noNamespaceSchemaLocation属性来引用 必须声明W3C的Schema实例名称空间 xmlns:xsi=“/2001/XMLSchema-instance”,Schema的引用,引用XML Schema文档 当Schema文档包含ta

14、rgetNamespace属性时,在XML文档的根元素中 通过SchemaLocation属性来引用。该属性由两部分组成,中间用空格分开 URI部分:与Schema文档的targetNamespace属性一致 Schema文件的绝对路径及名称 根元素必须声明Schema实例名称空间 xmlns:xsi=“/2001/XMLSchema-instance”,小结,XML已经应用到很多场合,而且其应用会越来越广泛 XML应用于数据交换领域 XML应用于Web服务 XML应用于内容管理 XML应用于Web集成 XML应用于配制 从总体上介绍了XML基本内容,然后介绍了XML中的常用术语,再后较详细的举例说明了XML的基本语法,讲述了DTD和XML Schema。,小结,一个合法的XML文档必然是结构完整的,结构完整的XML文档不一定是合法的。

温馨提示

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

评论

0/150

提交评论