XML技术及其应用三_第1页
XML技术及其应用三_第2页
XML技术及其应用三_第3页
XML技术及其应用三_第4页
XML技术及其应用三_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、XML技术及其应用技术及其应用 范宏宇范宏宇 DTD所不能做的所不能做的 1、DTD的语法接近的语法接近xml,但是仍然是一种独立的,但是仍然是一种独立的 语法结构,例如:语法结构,例如: 没有开始和结束标签,没有元素内容。没有开始和结束标签,没有元素内容。 而而XML Schema使用的是更接近使用的是更接近xml语法的一种语法的一种 语法。语法。 DTD所不能做的所不能做的 DTD的每一个声明都是全局有效的,那么的每一个声明都是全局有效的,那么 dffdf 由于有两个同命不同效果的由于有两个同命不同效果的lala标签,是无法定义的。标签,是无法定义的。 DTD中的所有声明都是全局声明,而中

2、的所有声明都是全局声明,而XML模式则既模式则既 有全局声明也有局部声明,可以视情况而定。有全局声明也有局部声明,可以视情况而定。 DTD所不能做的所不能做的 在很多情况下我们需要限制标签内元素的数据在很多情况下我们需要限制标签内元素的数据 类型。类型。 DTD不能对一给定的元素或属性的数据类型进行不能对一给定的元素或属性的数据类型进行 定义,而定义,而XML模式具有一套完整的数据类型模式具有一套完整的数据类型 系统,它允许对数据类型如整型,时间型或字系统,它允许对数据类型如整型,时间型或字 符串型等进行详细定义。符串型等进行详细定义。 XML模式定义文件模式定义文件Schema XML Sc

3、hema是一个独立于是一个独立于XML文档的文档,以文档的文档,以.xsd为为 扩展名。扩展名。 一个一个XML文档引用一个定义了某词汇文档引用一个定义了某词汇XML Schema文档;文档; 遵循某个特定遵循某个特定XML Schema词汇的词汇的XML文档称为文档称为XML Schema的的实例文档(实例文档将定义的词汇作为了标实例文档(实例文档将定义的词汇作为了标 签或者属性名等)签或者属性名等) XML Schema又称为又称为XML模式模式 为了后期介绍命名空间的时候方便理解,为了后期介绍命名空间的时候方便理解, 我们暂时将我们暂时将XML Schema中定义的东西中定义的东西 都称

4、为词汇都称为词汇 几个小实例几个小实例最简单最简单 Hello World! 创建对应的创建对应的XML Schema: 多么奇怪的一个标签!多么奇怪的一个标签! 让我们中间介绍一点命名空间再让我们中间介绍一点命名空间再 继续。继续。 两个小实例两个小实例最简单最简单 自动生成的:自动生成的: xsd:schema开头结尾的固定模式开头结尾的固定模式 声明命名空间声明命名空间 表示将要为名称空间表示将要为名称空间 http:/your_namespace定义一个词汇定义一个词汇 同同targetNamespace内容一致内容一致 定义元素名为定义元素名为greeting 内容是字符串内容是字符

5、串 我们暂时先跳过关于我们暂时先跳过关于XMLSchema的的 名称空间的问题名称空间的问题-简化为:简化为: Schema01.xsd 我们暂时先跳过关于我们暂时先跳过关于XMLSchema的的 名称空间的问题名称空间的问题-简化为:简化为: Hello World! 实例:含子元素的实例:含子元素的Schema文档文档 Schema02.xml teiki No.237, Road Waitan, Shanghai 根元素根元素customer包含两个子元素:包含两个子元素: 分别是:分别是:name、address 实例:含子元素的实例:含子元素的Schema文档文档 Schema02.

6、xsd 实例:含子元素的实例:含子元素的Schema文档文档 teiki No.237, Road Waitan, Shanghai 4.2 XML Schema DTD是是XML从从SGML继承的。继承的。 XML Schema是是W3C推出的。推出的。 4.2.1 XML Schema概述概述 首先微软提出首先微软提出 98年开始制定完善年开始制定完善 2001年正式确定第一个版本年正式确定第一个版本 XML Schema Definition(xsd)xml模式定义模式定义 4.2.2 XML Schema的特点的特点 1、使用、使用XML语法语法 2、数据类型丰富、数据类型丰富 3、支

7、持命名空间、支持命名空间 4.3 XML Schema数据类型数据类型 4.3 XML Schema数据类型数据类型 string 字符串字符串 boolean布尔型布尔型 float单精度单精度 integer整数整数 decimal任意精度十进制任意精度十进制 dateTimeYYYY-MM-DD hh:mm:ss 4.4 XML Schema元素声明元素声明 1、最基本的元素声明、最基本的元素声明 字符串类:字符串类: 为了避免麻烦,以后我们的例题只写最为了避免麻烦,以后我们的例题只写最 核心的语句。核心的语句。 4.4 XML Schema元素声明元素声明 1、最基本的元素声明、最基本

8、的元素声明 数字类:数字类: 4.4 XML Schema元素声明元素声明 2、带约束的简单类型声明、带约束的简单类型声明 需要定义一个范围在需要定义一个范围在1到到20之间的整数之间的整数 改进改进(4-9) 4.4 XML Schema元素声明元素声明 2、带约束的简单类型声明、带约束的简单类型声明 需要定义一个长度范围在需要定义一个长度范围在5到到10之间的整数之间的整数 改进改进(4-7) 4.4 XML Schema元素声明元素声明 2、带约束的简单类型声明、带约束的简单类型声明 需要定义一个手机号码需要定义一个手机号码 改进改进 4.4 XML Schema元素声明元素声明 2、带

9、约束的简单类型声明、带约束的简单类型声明 4.4 XML Schema元素声明元素声明 2、带约束的简单类型声明、带约束的简单类型声明 全局定义数据类型全局定义数据类型 局部定义数据类型局部定义数据类型 4.4 XML Schema元素声明元素声明 简单类型约束补充简单类型约束补充 d : 代表任何数字代表任何数字 xyz : x、y、z中的某一个值中的某一个值 x5 : 一行中有一行中有5个个x x5,8 : 一行中最少一行中最少5个最多个最多8个个x x+ : 1+个个x 0-9 : 一个从一个从0到到9的范围的范围 回顾回顾 简单类型的定义:简单类型的定义: 1、如何定义简单类型、如何定

10、义简单类型 2、带约束的简单类型的定义、带约束的简单类型的定义 3、简单类型、简单类型simpleType全局变量和局部变量的全局变量和局部变量的 定义定义 4.4 XML Schema元素声明元素声明 声明声明 约束:约束: minExclusive; maxExclusive; minInclusive; maxInclusive;totalDigits(总位数总位数); fractionDigits(小数点后位数小数点后位数);length; minLength;maxLength;pattern(限定字符串内容限定字符串内容); enumeration 声明声明 4.4 XML Sch

11、ema元素声明元素声明 是不是要简洁的多?是不是要简洁的多? 4.4 XML Schema元素声明元素声明 4.4 XML Schema元素声明元素声明 我们在我们在xs:schema元素上使用元素上使用targetNamespace属性指定属性指定 目标名称空间为:目标名称空间为:/book,即指明,即指明 了在该模式文档中声明的元素、定义的类型都属于了在该模式文档中声明的元素、定义的类型都属于 /book名称空间。名称空间。 声明名称空间声明名称空间/book,并为该名称

12、,并为该名称 空间绑定前缀空间绑定前缀b,使用该前缀来引用,使用该前缀来引用 /book名称空间中的类型。名称空间中的类型。 由于指定了目标名称空间,文档中定义的类型都属于目由于指定了目标名称空间,文档中定义的类型都属于目 标名称空间,因此在引用类型时,需要加上标名称空间,因此在引用类型时,需要加上book前缀。前缀。 在指定类型名时,不需要加上任何前缀,当使用了在指定类型名时,不需要加上任何前缀,当使用了 targetNamespace属性后,在模式文档中定义的任何类型属性后,在模式文档中定义的任何类型 都属于目标名称空间。都属于目标名称空间。 4.4

13、 XML Schema元素声明元素声明 SimpleType简单类型定义,定义的标记只存储元简单类型定义,定义的标记只存储元 素内容,不存储子元素。素内容,不存储子元素。 ComplexType复杂类型定义,定义存储子元素的复杂类型定义,定义存储子元素的 标签。标签。 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 用于用于声明定义元素的内容模型。声明定义元素的内容模型。 以下方法定义元素的内容模型:以下方法定义元素的内容模型: 1、声明声明 2、声明声明 3、声

14、明声明 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 1、声明声明 顺序出现方式顺序出现方式 2、声明声明 选择其一的方式选择其一的方式 3、声明声明 任意方式出现方式(每一个元素都只能且必须出任意方式出现方式(每一个元素都只能且必须出 现一次,顺序任意)现一次,顺序任意) all必须是必须是ComplexType定义的子声明定义的子声明 all只能包含只能包含element声明,不能包含声明,不能包含sequence和和 choice、group等声明等声明 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义

15、除了除了定义之外,定义之外,XML Schema还还 允许我们定义可重用的族元素。建立一个全局允许我们定义可重用的族元素。建立一个全局 的的声明,我们可以重用并组合整个内声明,我们可以重用并组合整个内 容模型。容模型。 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 以实验二以实验二Book和和Teacher为模型,实现他为模型,实现他 们的定义。们的定义。 4.4 XML Schema元素声明元素声明 3、复杂数据类型的定义、复杂数据类型的定义 P75介绍的介绍

16、的maxOccurs 和和 minOccurs maxOccurs:元素最多出现的次数元素最多出现的次数 minOccurs:元素最少出现的次数元素最少出现的次数 4.5 XML Schema属性声明属性声明 准许建立局部的和全局的声明准许建立局部的和全局的声明 Name 属性名属性名 Type属性类型属性类型 Ref引用一个全局属性引用一个全局属性 Use:required必填必填 optional可选可选 prohibited禁用禁用 Fix 固定值固定值 4.5 XML Schema属性声明属性声明 4.5 XML Schema属性声明属性声明 4.5 XML Schema属性声明属性声明 属性定义好的,我们改考虑如何把属性添加到简属性定义好的,我们改考虑如何把属性添加到简 单类型的元

温馨提示

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

评论

0/150

提交评论