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”处的文件来指定。
一、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”处的文件来指定。
相关文章推荐
- Java_09_21课堂总结
- Java_09_05课堂总结
- Java_09_29课堂总结
- Java_09_15课堂总结
- Java_11_09课堂总结
- Java_09_08课堂总结
- Java_09_06课堂总结
- Java_09_07课堂总结
- Java_09_26_课堂总结
- Java_09_13课堂总结
- Java_10_27课堂总结
- Java_09_19课堂总结
- Java_09_14课堂总结
- Java_09_20课堂总结
- Java_9_28课堂总结
- 一个java初学者的课堂总结
- Java_10_28课堂总结
- Java基础-09总结final,多态,抽象类,接口
- Java_10_31课堂总结
- Java_11_07课堂总结