使用DTD规范XML文档.ppt

上传人:wuy****n92 文档编号:73042142 上传时间:2023-02-15 格式:PPT 页数:46 大小:332.11KB
返回 下载 相关 举报
使用DTD规范XML文档.ppt_第1页
第1页 / 共46页
使用DTD规范XML文档.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《使用DTD规范XML文档.ppt》由会员分享,可在线阅读,更多相关《使用DTD规范XML文档.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2章 使用DTD规范XML文档DTDDTD基本概念基本概念2.1DTDDTD对元素的声明对元素的声明2.2 DTD DTD对属性的声明对属性的声明2.3 DTD DTD的引用的引用2.4 实体的声明与引用实体的声明与引用2.52.1 DTD基本概念n2.1.1 DTD简介n对XML文档所作的规范和约定被称为DTD,也就是文档类型定义。可以把DTD看作是编写某类XML文档的一个模板。n在一个DTD中,具体规定了引用该DTD的XML文档可使用哪些标记、父元素中能够包括哪些子元素、各个元素出现的先后顺序、元素可包含的属性、元素和属性值的数据类型,以及可使用的实体及符号规则等。nDTD由许多约定和声

2、明语句构成,这些语句可以包含在XML文档内部,被称为内部DTD;也可以独立保存为一个文件,而称为外部DTD。nDTD主要具有下列几方面的作用主要具有下列几方面的作用:n可以验证XML文档数据的有效性。n可以为某类XML文档提供统一的格式和相同的结构。n可以保证在一定范围内,XML文档数据的交流和共享。n应用程序设计人员根据DTD就能够知道对应XML文档的逻辑结构,从而编写出相应的处理应用程序。2.1.2 DTD的基本结构n在一份DTD中,包含了对XML文档所使用的元素、元素间的关系、元素可用的属性、可使用的实体等的定义规则。一份DTD实际上是若干条有关元素、属性、实体等定义和声明语句的集合。n

3、在DTD中可以包含下列各种声明语句:nDTD声明开始语句n元素类型声明语句n属性列表声明语句n实体声明语句n注释语句2.2 DTD对元素的声明n2.2.1 元素声明的语法n语法:nn说明:n!ELEMENT:元素声明语句的开始,关键字ELEMENT必须大写。nelement_name:所声明的元素名称。nelement_definition:对该元素内容的定义,用来规定该元素可以包含的内容。2.2.2 各种元素的声明n1基本字符元素的声明n2含子元素的严格声明n2.包含任意内容的声明n4子元素出现次数的声明n5选择性子元素的声明n6空元素的声明n7混合型元素的声明n8实体的声明1基本字符元素的

4、声明n只有字符数据,即不包含其它元素nn n n n n 2含子元素的严格声明n不能直接包含字符数据,并且元素的名称、顺序必须和声明完全一致nn 2.包含任意内容的声明可以包含任意的内容,次数和顺序也不受限制n n2002年入学的学生n200203034子元素出现次数的声明控制方法元素出现的次数子元素列表确定的次数?0或1次*0或多次,即任意性+1或多次5选择性子元素的声明n在多个指定的子元素中选择其中的一个nn6空元素的声明nnn7混合型元素的声明n既可以包含字符数据,有可以以任意的顺序包含指定的一个或多个子元素,也可以不包含任何内容。n2.2.3 元素声明综合示例n1灵活控制元素出现次数n

5、2元素的分组与嵌套nn2.3 DTD对属性的声明n2.2.1 属性声明的语法n语法:nn说明:n!ATTLIST:表示属性定义语句的开始,ATTLIST是关键字,必须大写。nElement_Name:元素名,用来指定对该元素的属性进行声明。nAttribute_Name:该元素具有的某个属性名,属性的命名规则与元素的命名规则是一致的。nType:属性的数据类型。nadded_declare:属性的附加声明,是一个可选项。2.2.2 属性的附加声明n1#REQUIREDn表示在相应的XML文档中该元素的这个属性是必须的,并必须给出一个属性值。n2#IMPLIEDn表示在XML文档中该元素的这个属

6、性是可有可无的。n2.#FIXED AttValuen表示在XML文档中该元素的这个属性值是所给定的固定值,不能更改。n4Default_Valuen在属性的附加声明中如果直接给定一个用引号括起来的字符串,表示预设的默认属性值。2.2.3 属性的各种类型n某个属性的类型(Type)规定了哪种类型的数据可以作为该属性的值。XML规范允许为元素的属性指定10种不同的类型。属性的各种类型n1CDATA类型n2ID类型n3.IDREF类型n4IDREFS类型n5ENTITY类型n6ENTITIES类型n7NMTOKEN类型n8NMTOKENS类型n9NOTATION类型n10Enumerated类型1

7、CDATA类型nCDATA指的是纯文本!DOCTYPE 剧本 我可不这么认为!为什么呢?2ID类型nID是用属性值的方式为文件中的某个元素定义唯一标识的方法,它的作用类似于HTML文件中的内部链接。在大多数情况下,ID由处理文件的程序或脚本语言使用。n!DOCTYPE 联系人列表n张三n李四 2.IDREF类型nIDREF类型允许一个元素的属性使用文件中的另一个元素,方法就是把那个元素类型允许一个元素的属性使用文件中的另一个元素,方法就是把那个元素的的ID标识值作为该属性的取值标识值作为该属性的取值n!DOCTYPE 联系人列表联系人列表n张三张三n李四李四 4IDREFS类型5ENTITY类

8、型6ENTITIES类型nIDREFS:空格也是合法字符nENTITY:该属性提供把外部二进制数据和 不可析实体链接到文档中的能力。nENTITYS:若干由空格分隔的不可析实体名 组成ENTITYS类型属性的值7NMTOKEN类型8NMTOKENS类型n类型NMTOKEN和NMTOKENS是诸多属性类型中面向处理程序的又一个类型。这两个类型用于指示一个有效的名字。n nXML文件:nblah blah blah 9NOTATION类型nNOTATION类型允许属性值为一个DTD中声明的符号。n当一个实体是不可拆解的实体时,由于XML校验器无法解读,所以必须声明它的格式来源或类型。n要使用NOT

9、ATION类型作为属性的类型,定义的形式是:nn属性值类型声明n n在下面这个例子中,为“电影”元素指定了两种可选设备:一种是movPlayer.exe,用来播映.mov文件,另一种则用来绘制GIF图象。n!DOCTYPE 文件 n 10Enumerated类型n属性也可以被描述为一组可接受的取值的列表,XML文件中对属性的赋值将从这个列表中选取一个值。这类属性属于枚举类型ENUMERATED,不过,关键字ENUMERATED是不出现在DTD定义中的。!DOCTYPE 购物篮 2.4 DTD的引用n2.4.1 引用内部DTDn语法:nn其中:n!DOCTYPE:表示DTD声明的开始,关键字DO

10、CTYPE必须大写。n根元素名称:指定XML文档的根元素名称,这个根元素名称必须精确地与文档中实际的根元素名称一致。nDTD声明语句序列:包含在一对方括号()之内的若干条语句,用来对XML文档中所使用的元素、属性和实体等进行具体声明。n注意:在XML文档中引用内部DTD时,应该在文档开头的XML声明语句中添加 standalone=yes 的说明。2.4.2 引用外部DTDn1外部DTD的创建n外部DTD是一个独立于XML文档的文件,使用.dtd为其文件扩展名。此种文件实际上也是一个文本文件,可用任何文本编辑器创建。n在外部DTD中,除了没有内部DTD中的“!DOCTYPE 根元素名称”语句之

11、外,其他声明语句都是一样的。2外部DTD的引用n根据外部DTD性质的不同,又可将其分为私有DTD文件和公共DTD文件。私有DTD文件是指并未公开的DTD文件,通常属于某个组织内部或个人所有;公共DTD文件则是为某一应用领域或行业所制定,被国际上的标准组织或行业组织广泛认可的、公开的、标准的DTD文件。n引用私有DTD文件的语法格式为:nn引用公共DTD文件的语法格式为:nn注意:在XML文档中引用外部DTD时,应该在开头的XML声明语句中添加standalone=no 说明。2.4.3 混合引用DTDn混合引用DTD是指:在一个带有内部DTD的XML文档中,再引用一个或多个外部DTD来共同规范

12、文档中的内容。2.5 实体的声明与引用n2.5.1 实体的概念与分类n1实体的概念n 在XML规格书中,实体(Entity)一词具有广泛的含义,通常是指与XML文档相关的任何下列型式的储存单元。n有效的XML文档本身n外部的DTD子集n定义成DTD中外部实体的外部文档n在DTD中定义的用引号括起来的字符串2实体的分类n一般实体:用来替代文档具体内容的实体。n参数实体:只能在外部DTD中定义和引用的实体,不能在XML文档中引用。n内部实体:所定义的实体内容并不涉及外部文档。n外部实体:所定义的实体内容为外部独立存在的文件。n可解析实体:包含字符、数字、文本块或标记的实体。n不可解析实体:包含图片

13、、声音等其他二进制数据的实体。2.5.2 内部一般实体n 内部一般实体是指在DTD中定义的一段具体文字内容,通常在XML文档的元素中引用,也可在DTD语句中引用。n在DTD中声明内部一般实体的语法:n n说明:n!ENTITY:表示开始声明一个实体,关键字ENTITY必须大写。nEntity_Name:表示实体的名称。nEntity_Value:表示实体的具体内容。n在XML文档或者DTD中引用内部一般实体的语法:n&Entity_Name;2.5.3 外部一般实体n 外部实体所对应的内容通常为一个独立存在的文件,在DTD中定义某个外部实体时需要指定该实体所对应文件的URL。n在DTD中定义外

14、部一般实体的语法:nn说明:n!ENTITY:表示开始声明一个实体,关键字ENTITY必须大写。nEntity_Name:表示外部实体的名称。nSYSTEM:是定义为外部实体的关键字。nEntity_URL:该实体所对应文件的URL。n在XML文档中引用外部一般实体的语法:n&Entity_Name;2.5.4 内部参数实体n参数实体的内容不仅可以包含文本,还可以包含元素类型声明、属性列表声明、一般实体声明、标签声明、处理指令或注释等。参数实体只能在DTD中引用,通常情况下只能在外部DTD文档中引用。n声明内部参数实体的语法:nn说明:n!ENTITY:表示开始声明一个实体,关键字ENTITY

15、必须大写。n%:表示声明的是一个参数实体。nEntity_Name:表示内部参数实体的名称。nEntity_Value:表示实体的内容。n在DTD中引用内部参数实体的语法:n%Entity_Name;2.5.5 外部参数实体n一个独立的DTD文档可以被定义为一个外部参数实体,并可通过这个DTD文档的URL对其进行引用。n声明外部参数实体的语法:nn说明:n!ENTITY:表示开始声明一个实体,关键字:表示开始声明一个实体,关键字ENTITY必须大写必须大写。n%:表示定义的是参数实体。nEntity_Name:表示实体的名称。nSYSTEM:是定义为外部实体的关键字。nEntity_URL:外部实体文件的URL。n在DTD中引用外部参数实体的语法:n%Entity_Name;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁