XML文档类型定义-DTD.ppt_第1页
XML文档类型定义-DTD.ppt_第2页
XML文档类型定义-DTD.ppt_第3页
XML文档类型定义-DTD.ppt_第4页
XML文档类型定义-DTD.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第3章 XML文档类型定义 - DTD,2,目标,理解文档类型定义 DTD声明 元素声明 属性声明 实体声明,3,XML 确认 -确保XML文档中数据的一致性,符合语法的XML文档称为结构良好的XML文档。 通过DTD验证的XML文档称为有效的XML文档。,4,3.1 DTD概述,文档类型定义-Document Type Definition DTD用来描述XML文档的结构, DTD定义了XML文档中可用的合法元素。 用DTD 指定:可以在文档中存在的元素、元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序。,5,3.2 DTD声明,DTD可以是一个完全独立的文件,也可以在XML文件中直接设定。 DTD分为外部DTD(在XML文件中调用另外已经编辑好的DTD)和内部DTD(在XML文件中直接设定DTD)两种。,6,3.2.1 内部DTD,内部DTD是在XML文件的文件序言区域中定义的。 内部DTD的XML文档的结构为: 文档数据区.,7,3.2.1 内部DTD(续), 王维 鹿柴 空山不见人,但闻人语声. 返景入深林,复照青苔上. ,注意:例中的定义关键字一定要大写,如DOCTYPE、ELEMENT、#PCDATA,且元素名称与数据类型之间也要有空格。,内部DTD示例,8,3.2.2 外部DTD,外部DTD是一个独立于XML文件的文件,实际上也是一个文本文件,只是使用.dtd为文件扩展名。 外部DTD的好处是:它可以方便高效地被多个XML文档所共享。 外部DTD的创建方式、语法和内部DTD是一样的。,9,3.2.2 外部DTD (续2-1),使用外部DTD的XML文档的结构为: 文档数据区.,10,3.2.2 外部DTD (续2-2), 王维 鹿柴 空山不见人,但闻人语声.返景入深林,复照青苔上. ,外部DTD使用示例,11,3.3 DTD语法,一个DTD文档包含 元素(ELEMENT)的定义规则 元素之间的关系规则 属性(ATTLIST)的定义规则 可使用的实体(ENTITY)或符号(NOTATION)规则,12,3.3.1元素声明确定元素及其类型,元素有三种不同的类型 数据型(即字符内容) Hello 元素型(即包含的内容是元素) QUIT Hello everybody! 混合型(包含的内容既有元素又有内容) Hello everybody quit ,13,3.3.1元素声明元素的定义(1/5),语法 ,关键字,元素名称,EMPTY该元素不能包含子元素和文本,但可以有属性(空元素) ANY该元素可以包含任何在DTD中定义的元素内容 #PCDATA可以包含任何字符数据,但是不能在其中包含任何子元素 PCDATA代表字符数据,为防止与关键字混淆,加#前缀 纯元素类型只包含子元素,并且这些子元素外没有文本 混合类型包含子元素和文本数据的混合体,元素类型,14,3.3.1元素声明元素的定义(2/5),EMPTY示例-空元素 XML示例: 皮诺曹 皮诺曹爸爸 ,15,3.3.1元素声明元素的定义(3/5),ANY示例 XML示例: 皮诺曹 皮诺曹爸爸 将根元素设为ANY类型后,元素出现的次数和顺序不受限制。,16,3.3.1元素声明元素的定义(4/5),#PCDATA示例 皮诺曹 皮诺曹爸爸 ,XML 示 例:,17,3.3.1元素声明元素的定义(5/5),组合类型示例 XML示例: ,18,注意1:,在元素设置中,如果元素包含多个子元素,如:!ELEMENT 书籍 (名称,作者,价格)这种含多个子元素的声明,那么“名称”、“作者”、“价格”这些标记在XML文件中必须以上面排列的顺序出现,每个标记必须而且只能够出现一次。,19,注意2:,如果在设定元素时,按照!ELEMENT 书籍ANY,这样在元素下就可以包含任意被设定过的元素,出现的次数和顺序也不受限制,并且在该元素下,除了可以包含子元素以外,还能够包含一般的文字。,20,注意3:,在XML文件中,一个标记可能多次出现(或者不出现),除了在它们的父元素中用ANY关键字之外,还可以在元素的旁边加上特定的符号来控制标记出现的次数。,21,修饰符号-无符号:只能出现一次,22,3.3.2属性声明,在DTD中定义属性时,我们使用下面的格式来给一个元素定义一组合适的属性,同时指定这些属性的类型和缺省值: 其中: 元素名是属性所属的元素的名字。 属性名是属性的命名。 值类型是给属性分配的值。 缺省值是属性的初值。,23,属性的定义,语法 ,CDATA ID IDREF/IDREFS NMTOKEN/NMTOKENS Enumerated,#REQUIRED #IMPLIED #FIXED value Default value,24,属性类型 CDATA,属性值可以是任何字符(包括数字和中文), XML示例:,25,属性类型NMTOKEN/NMTOKENS,NMTOKEN是CDATA 的一个子集,表示属性值必须是英文字母、数字、句号、破折号、下划线或冒号(不能是中文!)。 NMTOKENS与NMTOKEN类似,包含多个由空格分隔的字符。, 八阵图 功盖三分国,名成八阵图, 江流石不转,遗恨失吞吴. , 八阵图 功盖三分国,名成八阵图, 江流石不转,遗恨失吞吴. ,XML示例:,26,属性类型 ID,表明该属性的取值必须是唯一的。该ID必须以一个字母开头,ID属性值必须是合格的XML名字,XML示例:,27,属性类型 IDREF/IDREFS,IDREF属性的值指向文档中其它地方声明的ID类型的值。 IDREFS同IDREF,但是可以具有由空格分开的多个引用。,空格,XML示例,28,属性类型Enumerated,事先定义好一些值,属性的值必须在所列出的值的范围内。,29,属性的特点REQUIRED,元素的所有实例都必须有该属性的值(NOT NULL) 语法: DTD 示例: XML 示例: ,30,属性的特点IMPLIED,元素的实例中可以忽略该属性(NULL)。 语法: DTD示例: XML示例: ,31,属性的特点FIXED value,元素实例中该属性的值必须为指定的固定值。在元素中不能够设定该属性,因为这个属性被设为具有固定值的属性(#FIX关键字) 语法: DTD示例: XML示例: ,32,属性的特点Default value,为属性提供一个默认的值 语法: DTD示例: XML示例: ,33,定义实体内部实体,作用:避免重复输入 (宏、变量) XML中五个预定义实体 自定义实体语法: 引用已定义的实体: ,34,3.4 本章小结,在本章中,我们学习了如何使用DTD来描述文档结构,包括文档包含的必需元素、

温馨提示

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

评论

0/150

提交评论