《第4讲 使用DTD声明XML属性.ppt》由会员分享,可在线阅读,更多相关《第4讲 使用DTD声明XML属性.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机(软件)学院计算机(软件)学院软件外包(二)教研室XML计算机(软件)学院计算机(软件)学院第04讲 使用DTD定义XML属性21 十二月十二月 2022主讲:郭永洪主讲:郭永洪E-mailE-mail:yh_yh_计算机(软件)学院计算机(软件)学院目标知识目标DTD中定义XML元素属性的默认值和属性类型的方法能力目标学会使用DTD定义XML元素属性默认值学会使用DTD定义XML元素属性数据类型21 十二月十二月 2022计算机(软件)学院计算机(软件)学院任务任务1:使用DTD设置XML元素属性默认值任务2:使用DTD设置XML元素属性类型21 十二月十二月 2022计算机(软件)学
2、院计算机(软件)学院DTD属性声明语法!ATTLIST 21 十二月十二月 2022ATTLIST表示该指令为定义属性的指令。表示该指令为定义属性的指令。ATTLIST为关键字,必须大写。为关键字,必须大写。计算机(软件)学院计算机(软件)学院案例21 十二月十二月 2022计算机(软件)学院计算机(软件)学院训练学生信息如下:学生信息如下:姓名为姓名为“张三张三”学号为学号为“07091232010709123201”要求:要求:“姓名姓名”声明为声明为“学生信息学生信息”的子元素的子元素“学号学号”声明为声明为“姓名姓名”的属性的属性写出包含写出包含DTDDTD文档的文档的XMLXML文档
3、文档21 十二月十二月 2022计算机(软件)学院计算机(软件)学院任务1:设置属性默认值21 十二月十二月 2022任务任务1-11-1:直接指定属性缺省值:直接指定属性缺省值 !ATTLIST 计算机(软件)学院计算机(软件)学院案例1-121 十二月十二月 2022图书类别默认值设置图书类别默认值设置计算机(软件)学院计算机(软件)学院训练1-121 十二月十二月 2022阅读下面的阅读下面的DTD文档声明,写出相应的文档声明,写出相应的XML文档,并进行有效性文档,并进行有效性验证。验证。要求:数据自拟,包含一名男生和一名女生。要求:数据自拟,包含一名男生和一名女生。计算机(软件)学院
4、计算机(软件)学院任务1:设置属性默认值21 十二月十二月 2022任务任务1-21-2:必需赋值的属性设置(必需赋值的属性设置(#REQUIRED)!ATTLIST#REQUIRED 计算机(软件)学院计算机(软件)学院案例1-221 十二月十二月 2022图书页码必须赋值图书页码必须赋值计算机(软件)学院计算机(软件)学院训练1-221 十二月十二月 2022阅读下面的阅读下面的DTD文档声明,写出相应的文档声明,写出相应的XML文档,并进行有效性文档,并进行有效性验证(学号必须声明)。验证(学号必须声明)。要求:数据自拟,包含一名男生和一名女生。要求:数据自拟,包含一名男生和一名女生。计
5、算机(软件)学院计算机(软件)学院任务1:设值属性默认值21 十二月十二月 2022任务任务1-31-3:可有可无的属性设置(可有可无的属性设置(#IMPLIED)!ATTLIST#IMPLIED 计算机(软件)学院计算机(软件)学院案例1-321 十二月十二月 2022图书页码可有可无图书页码可有可无计算机(软件)学院计算机(软件)学院训练1-321 十二月十二月 2022下面是描述学生信息的下面是描述学生信息的DTD文档,写出相应的文档,写出相应的XML文档,并进文档,并进行有效性验证(属性类别可有可无)。行有效性验证(属性类别可有可无)。要求:数据自拟,包含一名男生和一名女生。要求:数据
6、自拟,包含一名男生和一名女生。计算机(软件)学院计算机(软件)学院任务1:设值属性默认值21 十二月十二月 2022任务任务1-41-4:固定取值的属性设置(固定取值的属性设置(#FIXED)!ATTLIST 计算机(软件)学院计算机(软件)学院案例1-421 十二月十二月 2022图书的类别固定为图书的类别固定为“计算机计算机”计算机(软件)学院计算机(软件)学院训练1-421 十二月十二月 2022下面是一个网站开发人员的下面是一个网站开发人员的DTD声明,根据该声明编写声明,根据该声明编写XML文档,文档,并进行有效性验证。(固定取值属性)并进行有效性验证。(固定取值属性)计算机(软件)
7、学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022属性属性类类型型含含义义CDATAEnumeratedIDIDREFIDREFSENTITYENTITIESNMTOKENNMTOKENSNOTATION字符数据。字符数据。枚枚举举类类型型,可可能能取取值值的的枚枚举举列列表表,可可以以从从其其中中选选择择一一个个值值作作为为属性的属性的值值。标识标识XML文档中元素唯一性的属性。文档中元素唯一性的属性。对对某某些些具具有有ID属属性性的的元元素素的的引引用用,这这些些元元素素的的ID属属性性值值必必须须与与IDREF的属性的属性值值相同。相同。由空格分开的若干个由空格分
8、开的若干个ID。在在DTD中声明的中声明的实实体名称。体名称。若干以空格分开的若干以空格分开的ENTITY名称。名称。名称名称记记号(合法的号(合法的XML名称)。名称)。若干空格分隔的若干空格分隔的NMTOKEN。指定属性指定属性值为值为DTD中声明的中声明的记记号名。号名。计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-12-1:枚举类型设置(枚举类型设置(Enumerated)Enumerated属性可以被描述为一组可接受的取值列表,属性可以被描述为一组可接受的取值列表,XML 文件中对属性的赋值将从这个列表中选取一个值。文件中对属性的赋
9、值将从这个列表中选取一个值。Enumerated不是关键字不需要大写,在将一个属性设定不是关键字不需要大写,在将一个属性设定为为Enumerated类型时,可选值之间以类型时,可选值之间以“|”分隔。分隔。计算机(软件)学院计算机(软件)学院案例2-121 十二月十二月 2022学生的性别为枚举类型,枚举值为学生的性别为枚举类型,枚举值为“男男”或女。或女。计算机(软件)学院计算机(软件)学院训练2-121 十二月十二月 2022根据根据DTD声明编写声明编写XML文档,并进行有效性验证(枚举类型使用)。文档,并进行有效性验证(枚举类型使用)。计算机(软件)学院计算机(软件)学院任务2:设置属
10、性的类型21 十二月十二月 2022任务任务2-22-2:ID ID类型设置(类型设置(IDID)(1)ID是用属性值的方式为文件中的某个元素定义是用属性值的方式为文件中的某个元素定义唯一标识唯一标识的方法的方法(2)ID由处理文件的程序或脚本语言使用。由处理文件的程序或脚本语言使用。(3)ID的值必须是一个的值必须是一个有效的有效的XML名称名称,名称中,名称中不能出现空格符不能出现空格符。计算机(软件)学院计算机(软件)学院案例2-221 十二月十二月 2022图书的编号为图书的编号为ID类型,必须赋值。类型,必须赋值。计算机(软件)学院计算机(软件)学院训练2-221 十二月十二月 20
11、22根据根据DTD声明写出声明写出XML文档(文档(ID类型的使用)。类型的使用)。计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-32-3:IDREF类型设置(类型设置(IDREFIDREF)IDREF类类型允型允许许一个元素的属性使用文件中的另一个元素,一个元素的属性使用文件中的另一个元素,方法就是把那个元素的方法就是把那个元素的ID标识值作为该属性的取值。标识值作为该属性的取值。注意注意该属性值中空格是非法的。该属性值中空格是非法的。计算机(软件)学院计算机(软件)学院案例2-321 十二月十二月 2022学生借阅的图书编号必须是已有的图
12、书编号。学生借阅的图书编号必须是已有的图书编号。计算机(软件)学院计算机(软件)学院训练2-321 十二月十二月 2022假设选修课程为假设选修课程为“图像处理图像处理”,至少有两名同学选修了该课程,至少有两名同学选修了该课程,请写出请写出XML文档。(文档。(IDREF类型使用练习)类型使用练习)计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-42-4:IDREFS类型设置(类型设置(IDREFIDREF S)IDREFS类类型允型允许许属性有多个属性属性有多个属性值值,它,它们们之之间间用空格分隔开来,用空格分隔开来,处处于同一于同一对对引
13、号之下,每一个都是在文档中其他地方引号之下,每一个都是在文档中其他地方设设定定过过的的ID类型的属性值。类型的属性值。计算机(软件)学院计算机(软件)学院案例2-421 十二月十二月 2022计算机(软件)学院计算机(软件)学院训练2-421 十二月十二月 2022使用使用IDREFS训练训练2-3中中DTD声明,并写出对应的声明,并写出对应的XML文档。文档。(IDREFS类型使用练习)类型使用练习)计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-52-5:ENTITY类型设置(类型设置(ENTITYENTITY)ENTITY类类型的属性提供
14、把外部二型的属性提供把外部二进进制数据和外部不可析制数据和外部不可析实实体体(如如GIF、JPEG、AVI等格式的文件等格式的文件)链接到文档中的能力。链接到文档中的能力。计算机(软件)学院计算机(软件)学院案例2-521 十二月十二月 2022图书的封面属性图书的封面属性Photo必须是以定义的实体必须是以定义的实体Photo1或或Photo2计算机(软件)学院计算机(软件)学院训练2-521 十二月十二月 2022在训练在训练2-3中添加两张学生照片的实体参考,并编写中添加两张学生照片的实体参考,并编写XML文档进行文档进行有效性验证(有效性验证(ENTITY类型练习)类型练习)计算机(软
15、件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-62-6:ENTITIES类型设置(类型设置(ENTITIESENTITIES)若干由空格分隔的不可析实体名组成若干由空格分隔的不可析实体名组成ENTITIES类型属性的类型属性的值。每一实体名指向一个外部非值。每一实体名指向一个外部非XML数据资源。这种类型数据资源。这种类型属性的用途之一是使不同图片之间的切换变得光滑平顺属性的用途之一是使不同图片之间的切换变得光滑平顺。计算机(软件)学院计算机(软件)学院案例2-621 十二月十二月 2022计算机(软件)学院计算机(软件)学院训练2-621 十二月十二
16、月 2022在训练在训练2-5中的中的ENTITY改为改为ENTITIE S,重新验证,重新验证XML文档进行有文档进行有效性验证(效性验证(ENTITIES类型练习)类型练习)计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-72-7:NMTOKEN类型设置(类型设置(NMTOKENNMTOKEN)使用使用NMTOKEN代表属性值类型时,属性值只能是由英文字母、代表属性值类型时,属性值只能是由英文字母、数字、下划线数字、下划线“_”、连接符、连接符“-”、圆点、圆点“”、冒号、冒号“:”等等字符所构成的字符串,且字符串中不得出现空格符字符所构成
17、的字符串,且字符串中不得出现空格符 计算机(软件)学院计算机(软件)学院案例2-721 十二月十二月 2022计算机(软件)学院计算机(软件)学院训练2-721 十二月十二月 2022编写编写XML文档(文档(NMTOKEN属性值类型使用)属性值类型使用)计算机(软件)学院计算机(软件)学院任务2:设置属性的类型21 十二月十二月 2022任务任务2-82-8:NMTOKENS类型设置(类型设置(NMTOKENSNMTOKENS)NMTOKENS关关键键字代表的是将字代表的是将许许多的多的 NMTOKEN 结合在一起,并结合在一起,并且以空格作为分隔。且以空格作为分隔。计算机(软件)学院计算机(软件)学院案例2-821 十二月十二月 2022计算机(软件)学院计算机(软件)学院训练2-821 十二月十二月 2022在训练在训练2-7中中NMTOKEN改为改为NMTOKENS,重新验证,重新验证XML文档进文档进行有效性验证(行有效性验证(NMTOKENS类型练习)类型练习)计算机(软件)学院计算机(软件)学院21 十二月十二月 2022
限制150内