XML数据的底层结构—DTD和XMLSchema.ppt_第1页
XML数据的底层结构—DTD和XMLSchema.ppt_第2页
XML数据的底层结构—DTD和XMLSchema.ppt_第3页
XML数据的底层结构—DTD和XMLSchema.ppt_第4页
XML数据的底层结构—DTD和XMLSchema.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

第2章 XML数据的底层结构DTD 和XML Schema,2.1 XML类型定义语言DTD 2.1.1 XML类型定义语言DTD 2.1.2 XML文档和DTD的匹配 2.2 XML模式Schema 2.2.1 Schema与DTD的区别和优势 2.2.2局部和全局定义 2.2.3 Schema的基本结构 2.2.4 简单类型 2.2.5 复杂类型,2.1 XML类型定义语言DTD,DTD:用来定义XML文档的逻辑结构的文件 元素 属性与实体 元素内容之间的相互关系。 引例:通讯录 分析: 数据库结构 XML文件结构 文档结构的规定:DTD XML文档:格式良好,有效,2.1 XML类型定义语言DTD,2.1.1 DTD语法 2.1.1.1 元素定义 1. 元素声明 ,标准的XML标记,2.元素内容类型定义 关键字EMPTY:空元素,只能有属性 关键字ANY:不限 #PCDATA:除标记以外的一切字符数据,子元素:元素可以包含的下一级元素 序列:按定义的次序依次出现,且只出现一次.定义的递归性 Ex: (Name,Address,Phone,Email) 选择:多个子元素中选择其一 Ex: Phone (Tel | Mobile) 结合使用 混合类型:元素既包含PCDATA,又包含子元素 ,3. 元素出现次数指示符:子元素说明之后 ?字符 它说明元素可以出现0次或1次。 * 字符 它说明元素可以不出现,或出现1次或多次。 + 字符 它说明元素必须出现至少一次,或者说可以出现一到多次,2.1.1.2 属性定义 1属性声明 注意点: 属性名的命名规则同元素 同一元素中属性名应惟一 默认值一般用双引号 2. 内容类型 CDATA:字符数据 枚举类型:选择其中之一 ID:标识文档中的元素,其名必须是合法的XML名,用于惟一地标识XML元素。Ex2.6 IDREF/IDREFS:参照引用文档中另一个元素的ID属性,3属性的默认值 #REQUIRED:必须具有该属性,否则文档无效 #IMPLIED:属性可有可无 #FIXED:不用明确指明属性,如指明则必须是默认值。 直接 指明:,2.1.2 XML文档和DTD的匹配,2.1.2.1 内部DTD 语法: XML文档声明 XML文档 2.1.2.2 外部个人DTD 共享使用同一个DTD DTD文件的文件扩展名为dtd XML文件中提供一个指向该文件的URL ,2.1.2.3 实体的定义 实体类型 相当于变量,2.1.2.4 实体的定义,1 内部一般实体 语法: XML文档中的引用: 效果分析 2.1.2.2 外部个人DTD 共享使用同一个DTD DTD文件的文件扩展名为dtd XML文件中提供一个指向该文件的URL ,2.2 XML模式Schema,2.2.1 Schema与DTD的区别和优势 模式(Schema)所起的作用与DTD相同,也是由W3C开发的。与 DTD相比,XML模式具有如下的几个优点: DTD是用一种与 XML不同的语法编写的,而XML模式使用的是一种类XML的语言。 DTD中的所有声明都是全局声明,而XML模式则既有全局声明也有局部声明,可以视情况而定。 DTD不能对一给定的元素或属性的数据类型进行定义,而XML模式具有一套完整的数据类型系统,它允许对数据类型如整型,时间型或字符串型等进行详细定义。,2.2.2局部和全局定义,在DTD中,每个元素都被声明为全局的,所以每个元素必须有一个唯一的名字并且只能声明一次。元素可被多个其他元素所引用,但在这些情况下,它们的定义必须完全相同。 然而在XML模式中,上下文是非常重要的。在模式的顶层声明的元素被认为是全局声明。在定义一个复杂类型时,可以参考和使用这些全局定义的元素作为该类型的一个子部分,也可以同时定义一些新的局部元素,但作用域被限制在该复杂类型之内。,2.2.3 Schema基本结构和使用, This is my very first schema. It does not have any elements yet, but it will. ,2.2.4简单类型,2.2.4.1简单类型的定义 2.2.4.2简单类型的种类 (见下图),数据类型的说明,ur-Type 类别表示在 XML 模式数据类型中存在整个类型系统层次结构的一个基或根。XML 模式中的任何数据类型都将 ur-Type 作为其父亲或祖先。ur-Type 的角色类似于 Java 中的 java.lang.Object,后者是 Java 中所有内置和用户定义类的基类。类似地,ur-type 是 XML 模式中的所有数据类型的基。,数据类型的说明,anyType 数据类型是一种具体的 ur-Type,根据上下文,它可以作为复杂类型(非标量数据,即元素)或作为简单类型(标量数据)来使用 。 anySimpleType 数据类型也是一种具体的 ur-Type,并且是所有内置数据类型的父亲和所有用户派生标量数据类型的祖先。它不同于 anyType,这是因为它只可以存放任意标量数据类型对应的标量数据,而 anyType 可以存放标量和非标量数据。,2.2.4.3自定义的简单类型 有时可以对各种简单类型进行适当的修改以更好地满足需要,形成自定义的简单类型。定义过程分为两个步骤: 选择一个合适的简单类型作为基类型 对此基类型添加一些限制条件,例如:指定其值的一个有限的范围,指定其值的一个确定的集合,或者指定值的格式等。,2.2.4.4对元素自定义格式 2.2.4.5 数值的嵌入和范围的设定 2.2.4.6枚举类型的定义 2.2.4.7列表类型的定义 2.2.4.8限制简单类型的长度 2.2.4.9在模式中设定XML元素的值 2.2.5 复杂类型 2.2.5.1复杂类型概述 XML中有四种复杂类型的元素: 第一种类型是“只含元素”类型,它只能含有子元素或属性,而不能含有文本。 第二种类型是“只含文本”类型,它只能含有文本和属性,而不能含有子元素。,第三种类型是“空元素”类型,它可以有属性,但不能含有子元素或文本。 第四种类型是“混合内容”类型,它可以包含元素,属性和文本的组合。 2.2.5.2 “只含元素”的元素定义 一个复杂的“只含元素”的元素是由一系列的简单和/或其他复杂的元素构成。 2.2.5.3 “只含文本”的元素定义 该类型有点类似于一个只含文本的简单类型,但不同的是它也可以有属性。,2.2.5.4 空元素的定义 空元素不包含任何内容,但可以有属性。 2.2.5.5 混合内容的元素定义 XML模式

温馨提示

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

评论

0/150

提交评论