您的位置:首页 > 编程语言 > Java开发

Java_09_27课堂总结

2011-09-27 13:57 302 查看
课堂总结

一、DTD规范XML文档

学 习 目 标

(一)理解DTD的基本概念

(二)掌握DTD声明XML元素的方法

(三)掌握DTD声明属性的方法

(四)理解实体的概念及作用

二、DTD简介

DTD是一套关于标记的语法规则,它定义了文档的逻辑

结构,规定了文档中所使用的元素、实体、元素的属性、

元素与实体之间的关系。DTD告诉你可以在哪些文档中使

用哪些标记,各标记出现的次序,哪些标记出现在哪些标

记中,哪些标记有属性等等。

DTD是XML文件的验证机制,定义好DTD,就可以使用

XML解析器对编写好的XML文档进行DTD检查,判断XML

文档内容是否为有效的XML文档内容。

使用DTD的好处

用DTD提供统一格式。例如,用DTD规定个人简历文档的逻辑结构,包括所需填写内容和内容排列方式,所有按照这个DTD编写的个人简历都将具有统一格式。

用DTD验证数据有效性。DTD约束文档逻辑结构,可以根据DTD检查数据,验证其是否符合规定要求,确保数据正确和有效。

根据DTD编写文档样式单。DTD能在不提供原始资料的情况下,表示出一个网页或文档的架构元素,这意味着用户能先根据DTD为未来的文档编写样式单,然后再安全且不破坏结构的把用户的资料放上去,提高工作效率。

三、引入DTD

使用DTD定义了合法的语义约束后,必须让XML

文档引入该语义约束,以表明该XML文档遵守哪种

语义约束。在XML文档中引入DTD主要有3种方式:

内部DTD

外部DTD

公用DTD

(一)内部DTD

所谓内部DTD是指DTD与XML数据定义放在同

一份文档中,即将DTD定义在XML文档内部。内

部DTD紧跟在XML声明和处理指令之间。

文档类型声明以“<!DOCTYPE>” 开始,以“]>”

结束。在XML处理指令和根元素之间定义。

(二)外部DTD

外部文件类型定义存在于独立文件中,文件扩

展名为“.dtd”。外部DTD的好处是:可以方便地

被多个XML文档共享,只需要定义一份DTD文

档,即可为多个XML文档定义语义约束。

注意:

为了让DTD能支持非西欧字符,应该为外部DTD文档指定声明,DTD声明和XML声明的语法完全相同。

(三)DTD文档的结构

DTD文档并不是XML文档,而只是为XML定义语义

约束的文档。DTD文档有如下结构:

第1行是DTD声明部分,该声明与XML声明的语法相同

0到多个注释部分,DTD注释与XML注释的语法完全相同

0到多个<!ELEMENT….>定义,每个<!ELEMENT….>定义一个XML元素

0到多个<!ATTLIST….>定义,每个<!ATTLIST….>定义一个XML元素定义了一个属性

0到多个<!ENTITY….>定义,每个<!ENTITY….>定义一个实体

0到多个<!NOTATION….>定义,每个<!NOTATION….>定义一个符号

空元素类型—EMPTY

定义子元素

元素包含子元素是XML文档中最常见的情形,

DTD可以有效地定义各元素之间的父子关系,从而

有效地描述整个文档结构。定义元素包含的子元素

时,各个元素之间存在几种逻辑关系。

有序的子元素

互斥的子元素

无序的子元素

DTD对属性声明【重点掌握】

属性是描述元素的额外信息的,是对元素的修饰与补

充。一般来说,信息详实的XML文档都是一个特点,即元

素通过属性来描述边缘信息。

在 DTD 中,属性通过 ATTLIST 声明来进行声明。一

个属性声明可以声明一个元素的多个属性。

对属性的限定条件

#REQUIRED: 必须的属性,意味着必须为该元素提供该属性

#IMPLIED: 该属性是可有可无的

#FIXED: 该属性的值是固定的,定义是必须制定固定值。使用该元素时无需为其分配该属性,XML处理器会自动为给属性增加固定值

实体的分类

按照实体的具体内容来分类,实体可分为可解析与不可解析两类。可解析实体的具体内容为简单的字符、数字、文本块,而不可解析实体的具体内容则为图片、声音等二进制文件。

按照逻辑存储来分类,实体可分为内部实体与外部实体两类。内部实体的内容是在文档内部设定的;而外部实体则是一个外部独立的物理存储对象,如某个外部文件。

按照使用的范围来分类,实体可分为一般实体与参数实体两类。一般实体都用来构成文档的具体内容,可出现在XML文档中,也可出现在DTD中;而参数实体只能出现在DTD中,不能出现在XML文档中。

外部普通实体

外部实体的值不在DTD中直接指定,而是专门

提供一个文件为该实体指定值----“实体值所在的

文件的URL”处的文件来指定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: