第四讲 使用DTD声明XML属性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ຫໍສະໝຸດ Baidu
计算机(软件)学院
训练1-1
阅读下面的DTD文档声明,写出相应的XML文档,并进行有效 性验证。 要求:数据自拟,包含一名男生和一名女生。
计算机(软件)学院
任务1:设置属性默认值
任务1-2: 必需赋值的属性设置( #REQUIRED )
<!ATTLIST 元素名 属性名 属性类型 #REQUIRED>
训练
• 学生信息如下:
– 姓名为“张三” – 学号为“0709123201”
• 要求:
– “姓名”声明为“学生信息”的子元素 – “学号”声明为“姓名”的属性 – 写出包含DTD文档的XML文档
计算机(软件)学院
任务1:设置属性默认值
任务1-1:直接指定属性缺省值
<!ATTLIST 元素名 属性名 属性类型 "默认值" >
计算机(软件)学院
案例1-3
图书页码可有可无 <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> BookList (Book)*> Book Category CDATA "计算机" PageCount CDATA #IMPLIED>
计算机(软件)学院
第4讲 使用DTD定义XML属性
主讲:郭永洪
E-mail:yh_guo@126.com
计算机(软件)学院
任务
• 任务1:使用DTD设置XML元素属性默认 值 • 任务2:使用DTD设置XML元素属性类型
计算机(软件)学院
目标
• 知识目标
–DTD中定义XML元素属性的默认值和属性类 型的方法
计算机(软件)学院
案例2-1
学生的性别为枚举类型,枚举值为“男”或女。 <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST SID (#PCDATA)> Name (#PCDATA)> Class (#PCDATA)> Student (SID,Name,Class)> StudentList (Student)*> Student Gender (男|女) #REQUIRED>
计算机(软件)学院
训练2-2
根据DTD声明写出XML文档(ID类型的使用)。
计算机(软件)学院
任务2:设置属性的类型
任务2-3: IDREF类型设置(IDREF )
IDREF类型允许一个元素的属性使用文件中的另一个元素, 方法就是把那个元素的ID标识值作为该属性的取值。注意 该属性值中空格是非法的。
计算机(软件)学院
训练1-2
阅读下面的DTD文档声明,写出相应的XML文档,并进行有效 性验证(学号必须声明)。 要求:数据自拟,包含一名男生和一名女生。
计算机(软件)学院
任务1:设值属性默认值
任务1-3: 可有可无的属性设置( #IMPLIED )
<!ATTLIST 元素名 属性名 属性类型 #IMPLIED>
计算机(软件)学院
训练2-4
使用IDREFS训练2-3中DTD声明,并写出对应的XML文档。 (IDREFS类型使用练习)
计算机(软件)学院
任务2:设置属性的类型
任务2-5 :ENTITY类型设置(ENTITY)
ENTITY类型的属性提供把外部二进制数据和外部不可析实体(如 GIF、JPEG、AVI等格式的文件)链接到文档中的能力。
计算机(软件)学院
案例2-5
图书的封面属性Photo必须是以定义的实体Photo1或Photo2 <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> <!ELEMENT PubDate (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Book (Title,Author,Publisher,PubDate,ISBN)> <!ELEMENT BookList (Book)*> <!NOTATION jpg SYSTEM "image/jpeg"> <!ENTITY Photo1 SYSTEM "photo1.jpg“ NDATA jpg> <!ENTITY Photo2 SYSTEM "photo2.jpg" NDATA jpg> <!ATTLIST Book Category CDATA #FIXED "计算机" Photo ENTITY #IMPLIED>
计算机(软件)学院
案例2-4
<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST <!ELEMENT <!ATTLIST <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> Book Category CDATA "计算机" BookID ID #REQUIRED> BorrowNumber (#PCDATA)> BorrowNumber BID IDREFS #REQUIRED> SID (#PCDATA)> Name (#PCDATA)> Class (#PCDATA)> Student (SID,Name,Class,BorrowNumber*)> BorrowBook (Book*,Student)>
计算机(软件)学院
训练2-1
根据DTD声明编写XML文档,并进行有效性验证(枚举类型使用)。
计算机(软件)学院
任务2:设置属性的类型
任务2-2: ID类型设置(ID )
(1)ID是用属性值的方式为文件中的某个元素定义唯一标识的方法
(2)ID由处理文件的程序或脚本语言使用。
(3)ID的值必须是一个有效的XML名称,名称中不能出现空格符。
计算机(软件)学院
案例1-4
图书的类别固定为“计算机” <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> BookList (Book)*> Book Category CDATA #FIXED "计算机" PageCount CDATA #IMPLIED>
计算机(软件)学院
训练1-4
下面是一个网站开发人员的DTD声明,根据该声明编写XML文档, 并进行有效性验证。(固定取值属性)
计算机(软件)学院
任务2:设置属性的类型
属性类型 CDATA Enumerated ID IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION 含义 字符数据。
计算机(软件)学院
训练1-3
下面是描述学生信息的DTD文档,写出相应的XML文档,并进 行有效性验证(属性类别可有可无)。 要求:数据自拟,包含一名男生和一名女生。
计算机(软件)学院
任务1:设值属性默认值
任务1-4: 固定取值的属性设置( #FIXED )
<!ATTLIST 元素名 属性名 属性类型 #FIXED "默认值">
计算机(软件)学院
案例2-3
学生借阅的图书编号必须是已有的图书编号。
<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST <!ELEMENT <!ATTLIST <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> Book Category CDATA "计算机" BookID ID #REQUIRED> BorrowNumber (#PCDATA)> BorrowNumber BID IDREF #REQUIRED> SID (#PCDATA)> Name (#PCDATA)> Class (#PCDATA)> Student (SID,Name,Class,BorrowNumber*)> BorrowBook (Book*,Student)>
若干空格分隔的NMTOKEN。 指定属性值为DTD中声明的记号名。
计算机(软件)学院
任务2:设置属性的类型
任务2-1: 枚举类型设置( Enumerated )
Enumerated属性可以被描述为一组可接受的取值列表, XML 文件中对属性的赋值将从这个列表中选取一个值。
Enumerated不是关键字不需要大写,在将一个属性设定 为Enumerated类型时,可选值之间以“|”分隔。
计算机(软件)学院
案例2-2
图书的编号为ID类型,必须赋值。 <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> BookList (Book)*> Book Category CDATA "计算机" BookID ID #REQUIRED>
计算机(软件)学院
案例1-1
图书类别默认值设置
<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST
Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> BookList (Book)*> Book Category CDATA "计算机">
计算机(软件)学院
案例1-2
图书页码必须赋值 <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST Title (#PCDATA)> Author (#PCDATA)> Publisher (#PCDATA)> PubDate (#PCDATA)> ISBN (#PCDATA)> Book (Title,Author,Publisher,PubDate,ISBN)> BookList (Book)*> Book Category CDATA "计算机" PageCount CDATA #REQUIRED>
枚举类型,可能取值的枚举列表,可以从其中选择一 个值作为属性的值。
标识XML文档中元素唯一性的属性。 对某些具有ID属性的元素的引用,这些元素的ID属性 值必须与IDREF的属性值相同。 由空格分开的若干个ID。
在DTD中声明的实体名称。
若干以空格分开的ENTITY名称。
名称记号(合法的XML名称)。
计算机(软件)学院
训练2-3
假设选修课程为“图像处理”,至少有两名同学选修了该课程, 请写出XML文档。(IDREF类型使用练习)
计算机(软件)学院
任务2:设置属性的类型
任务2-4: IDREFS类型设置(IDREF S)
IDREFS类型允许属性有多个属性值,它们之间用空格分隔开来, 处于同一对引号之下,每一个都是在文档中其他地方设定过的ID 类型的属性值。
• 能力目标
–学会使用DTD定义XML元素属性默认值 –学生使用DTD定义XML元素属性数据类型
计算机(软件)学院
DTD属性声明语法
<!ATTLIST 元素名 属性名 属性类型 默认值>
ATTLIST表示该指令为定义属性的指令。 ATTLIST为关键字,必须大写。
计算机(软件)学院
案例
计算机(软件)学院
相关文档
最新文档