XML基础教程 教学课件 作者 范春梅 王新刚 张卫华 第3章 文档类型定义(DTD).ppt

XML基础教程 教学课件 作者 范春梅 王新刚 张卫华 第3章 文档类型定义(DTD).ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 文档类型定义(DTD) 本书前面章节曾经谈到XML文档的结构“可以用严格的语法约束”。本章将针对文档类型定义(DTD)和架构(Schema)进行讲述。这两种方法就是用于描述和约束XML文档结构的。描述、约束XML文档的结构,其目的并不在于削足适履,减弱XML的灵活性和可扩展性。 3.1 什么是DTD 文档类型定义(Document Type Definition,DTD)是关于文档中所用到标记符的语法规则,它指定标记符名称、标记符的出现次序、标记符的嵌套规则及标记符属性等。 3.1.1 DTD的概述 DTD是用于描述、约束XML文档结构的一种方法,它定义了XML文档中的合法元素。在XML中可以创建一个或多个元素(也就是HTML中所谓的标记),这些元素集(也叫标记集)可以通过DTD来定义。DTD是可有可无的,用它来描述、约束XML文档的结构,其目的主要是在XML文档的开头对文档内容和大体结构进行描述,以便提供对文档内容进行严格检验的依据。 1.描述文档内容和结构 2.验证文档的合法性 3.提高XML应用的开发效率和规范程度。 3.1.2 第一个DTD示例 图3.2 “Grid”显示模式 3.1.3 DTD的基本结构 DTD的基本结构包括XML声明、元素(ELEMENT)声明和属性列表(ATTLIST)声明等。 3.1.4 定义元素及其后代 定义元素即对XML文档中所使用元素及其使用方法的定义。定义包括元素名称和构成元素的基本类型两部分,构成元素的基本类型包括简单类型和复合类型两种。包含子元素的元素称为父元素,子元素称为父元素的后代。 1.元素定义的方法 2.子元素声明约束 3.1.5 定义元素属性 元素属性就是该元素区别于其他元素的特有本质。为详细描述某一元素,在定义元素时可同时定义该元素的属性。元素可以定义属性也可以不定义属性。元素属性定义包括属性名称、变量类型和预定义属性等,属性可以有一个,也可以有多个;多个属性时,各属性排列次序对XML文档不构成限制。 3.1.6 DTD中的注释 DTD中也可以添加注释,注释方式与XML文档相同。像所有注释一样,注释内容是为了方便人们理解源代码结构的,XML解析器在解析源代码时会忽略注释部分。DTD中的注释不能出现在声明语句当中,只能出现在声明语句的前面或后面。读者可以根据不同编码习惯,选择前面或后面进行注释。 3.1.7 在文档间共享通用的DTD 为方便多个文档共享同一个DTD,可以将DTD单独定义在一个文件中。XML文档只要添加对DTD文件的引用就可以起到文档内DTD的作用了。这样,多个XML文档就可共享同一个DTD文件了。 3.2 DTD中的属性声明 在DTD声明元素的同时,还可以指定元素具有的属性。DTD中的属性声明不仅约束了XML文档中元素的属性名,还约束了元素的取值类型。 3.2.1 在DTD中声明属性 在DTD声明属性的标记是!ATTLIST,其声明语法如下所示。 !ATTLIST Element_Name Attribute_Name Attribute_Type Default_Value 在DTD声明属性目的是为了限制XML文档中元素的属性。应该充分考虑元素所具有的属性,抽取出元素属性的限制条件,再在DTD中进行属性声明,从而方便有效性检测。盲目声明属性反而会造成不必要的麻烦。 3.2.2 声明多个属性 与客观世界相似,元素可以有多个属性,这时就需要使用属性列表。属性列表声明语法如下所示。 !ATTLIST Element_Name Attribute_Name1 Attribute_Type Default_Value Attribute_Name2 Attribute_Type Default_Value …… 元素属性的声明顺序不对XML文档构成限制,但为了便于理解和后期维护,这里建议在XML文档中的属性顺序应按照其引用的DTD中的声明顺序来排列。 3.2.3 指定属性的默认值 元素某属性可能是某一个不变常量,这时可指定该属性为这个常量。例如,假设电脑内存的主流配置是512MB,在定义DTD时指定该属性值为“512MB”,则XML文档中在不对该属性赋值的情况下就是该默认值。 3.2.4 属性类型 属性类型是对属性取值内容的限定,属性类型如表3.2所示。 3.2.5 预定义属性值 元素某属性可能是在XML文档定义时必须单独填写的,也可以是可有可无的,还可能要求必须使用某一个指定的值。这些要求决定了DTD必须分别对待不同情况。#REQUIRED、#IMPLIED、#FIXED三个关键词与上诉三种情况分别对应。它们的含义如表3.3所示。 3.3 实体和外部DTD子集 实体(ENTITY)是一种替代物,用于内容转义,在XML文档中可以直接用实体名来

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档