第三章DTD技术.ppt_第1页
第三章DTD技术.ppt_第2页
第三章DTD技术.ppt_第3页
第三章DTD技术.ppt_第4页
第三章DTD技术.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第3章DTD技术 3 1DTD的一般结构3 2DTD在XML文档中的引用3 3验证DTD文档3 4DTD中的元素声明3 5DTD中的属性声明 DTD DocumentTypeDefinition 文档类型定义 什么是DTD DTD用来指定XML文档怎样组织数据 即数据结构 例如 规定XML文档中可以有哪些元素 一个元素有哪些属性 元素之间如何嵌套等 一个格式良好的XML文档 如果遵守DTD规则 被称为有效的XML文件 DTD示例 李刚男19王丽女18 DTD声明 声明一个元素 在XML中 元素是文档的一个逻辑组件 属性表示一个元素的特征DTD的一般结构 声明一个属性 DTD的一般结构 使用DTD生成XML文档 DTD以简单文本文件的形式出现 可以存储在独立的文件中 也可以嵌入XML文件引用DTD的XML文档将包含声明 为什么使用DTD 验证接收到的数据是否有效 用于验证自己的数据 定义XML文档的合法构建块 使用一系列合法元素来定义文档结构 PUBLIC DTD分为两大类 内部DTD 外部DTD SYSTEM DTD分类 1 内部DTD引用一个只使用内部DTD进行有效性检验的XML文档的基本结构如下 DTD在XML文档中的引用 2 外部DTD引用一个DTD文件的基本结构 DTD在XML文档中的引用 元素 属性或实体的DTD声明部分 1 引用私有DTD文件引用私有DTD文件的语法为 2 引用公共DTD文件引用公共DTD文件的语法为 外部DTD引用 根据两种不同的外部DTD文件 有两种引用方式 外部DTD示例 exp1 dtd文件 test2 xml文件 李刚男19王丽女18 检查XML文件的有效性 解析器类型 非验证解析器 验证解析器 检查文档格式是否良好 使用DTD检查文档的有效性 XML文档的有效性检验就是根据DTD声明中定义的约束条件来验证文档中标记的使用是否合法 本章使用DOM解析器TestValidate java来检验XML文件的有效性 检查XML文件的有效性 DTD中的元素 ELEMENT 是用来约束标记的 用元素声明来定义一个标记 元素声明以 结束 格式为 例如 这段代码定义了一个标记 名称为name 它标记的内容只能含有文本数据 DTD中的元素声明 如果想要定义一个标记含有哪些子标记以及子标记应该以怎样的顺序出现或出现的次数 这些内容都要在 标记的约束 中定义 标记的约束有以下5种情况 1 EMPTY 2 ANY 3 字符数据 PCDATA 4 包含子标记 子标记列表 5 混合内容 既有字符数据 又有子标记 DTD中的元素声明 1 EMPTY 关键字EMPTY用于定义空标记 空标记不含有任何标记内容 例如 对于下面的一个空标记 在DTD中声明该标记的语法是 DTD中的元素声明 2 ANY 使用关键字ANY就意味着该标记可以包含该DTD中定义的其他任何标记 多用于定义根标记 例如 这段代码定义了一个名称为persons的标记 它的子标记可以是在该DTD文件中定义的其他任何标记 说明 在DTD中应慎用ANY 因为 过多地使用ANY会破坏文档结构清晰这一原则 DTD中的元素声明 3 PCDATA 如果约束条件是 PCDATA 说明该标记所标记的内容可以是除标记以外的任何字符 例如 这段代码定义了名称为name的标记 同时规定了标记所标记的内容只能是文本数据 不能含有子标记 DTD中的元素声明 4 定义子标记 标记的内容可以包含子标记 定义一个标记的子标记的语法格式为 例如 这段代码定义了一个名称为student的标记 该标记含有3个子标记 和 定义子标记时子标记的出现顺序决定了XML文件中子标记出现的顺序 这个次序不能违背 DTD中的元素声明 练习 给通讯录案例添加内部DTD P20 给通讯录案例添加外部DTD P22 控制元素的出现次数DTD中引入了几个特殊符号来说明子标记的出现情况 分别是 和 DTD中的元素声明 DTD中的元素声明 exp3 xml 表示至少出现1次 表示0次或多次 表示0次或1次 DTD中的元素声明 张三01011029289Mac这是关于张三的信息 混合内容是指标记内容可以有文本数据和子标记 标记约束条件是关键字 PCDATA 和若干个子标记的 或运算 而且该 或运算 必须用小括号括起并尾加一个 号 格式如下 DTD中的元素声明 5 定义混合内容标记 DTD的完整性 1 不能出现标记的嵌套 标记的嵌套是指一个标记的子标记中又含有该标记的父标记 这种情况在DTD中是不允许出现的 例如 这个DTD中的定义是错误的 一个完整的DTD 应满足下面两个条件 2 必须确定每一个标记的约束条件 对于XML文件中出现的每一个标记 在DTD中都应该有它所标记内容的约束 练习 P39习题2 为XML文件编写DTD文件 与标记的定义类似 属性的定义也必须在DTD中声明 DTD中属性列表 ATTLIST 是用来约束标记的属性的属性的声明以 结束 中间是标记名称及其可以含有的属性列表 其语法格式为 DTD中的属性声明 例如 也可以多次为一个标记定义属性 例如 注意 XML文件中为每个标记添加的属性 都应该在DTD中声明 即使是同名的属性也要各自声明 DTD中的属性声明 属性默认值情况 属性的默认值情况可以是 字符串 IMPLIED REQUIRED 或 FIXED 和一个字符串 具体用法见下表 DTD中的属性声明 DTD中的属性声明 属性的类型属性的类型有7种情况 各类型说明如下表 写出以下products xml文档对应的DTD文件 练习 XML解析器100XML编辑器50 DTD中的实体分为一般实体和参数实体 一般实体简称为实体 指可以被XML文件在标记内容中通过实体引用使用的实体 参数实体专门用在DTD中 按实体内容的位置 分为内部实体和外部实体 DTD中的实体 内部实体与外部实体 内部实体是指实体内容包含在该DTD文件中的实体 定义内部实体的格式如下 例如 外部实体是指实体内容是该DTD文件以外的其他文件的实体 定义内部实体的格式如下 例如 DTD中的实体 内部实体与外部实体 实体的引用 在XML文件中实体引用的格式为 例如 圆周率的值是 解析器在解析时 就会将 替换为 3 14159 注意 实体引用时 之间都不能有空格 DTD中的实体 文件03 txt的内容 这是外部实体 来自03

温馨提示

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

评论

0/150

提交评论