当前位置:
文档之家› 第四讲 使用DTD声明XML属性
第四讲 使用DTD声明XML属性
计算机(软件)学院
案例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)>
训练
• 学生信息如下:
– 姓名为“张三” – 学号为“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>
计算机(软件)学院
训练1-2
阅读下面的DTD文档声明,写出相应的XML文档,并进行有效 性验证(学号必须声明)。 要求:数据自拟,包含一名男生和一名女生。
计算机(软件)学院
任务1:设值属性默认值
任务1-3: 可有可无的属性设置( #IMPLIED )
<!ATTLIST 元素名 属性名 属性类型 #IMPLIED>
计算机(软件)学院
训练2-2
根据DTD声明写出XML文档(ID类型的使用)。
计算机(软件)学院
任务2:设置属性的类型
任务2-3: IDREF类型设置(IDREF )
IDREF类型允许一个元素的属性使用文件中的另一个元素, 方法就是把那个元素的ID标识值作为该属性的取值。注意 该属性值中空格是非法的。
计算机(软件)学院
训练2-4
使用IDREFS训练2-3中DTD声明,并写出对应的XML文档。 (IDREFS类型使用练习)
计算机(软件)学院
任务2:设置属性的类型
任务2-5 :ENTITY类型设置(ENTITY)
ENTITY类型的属性提供把外部二进制数据和外部不可析实体(如 GIF、JPEG、AVI等格式的文件)链接到文档中的能力。
计算机(软件)学院
案例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>
计算机(软件)学院
训练2-1
根据DTD声明编写XML文档,并进行有效性验证(枚举类:设置属性的类型
任务2-2: ID类型设置(ID )
(1)ID是用属性值的方式为文件中的某个元素定义唯一标识的方法
(2)ID由处理文件的程序或脚本语言使用。
(3)ID的值必须是一个有效的XML名称,名称中不能出现空格符。
计算机(软件)学院
第4讲 使用DTD定义XML属性
主讲:郭永洪
E-mail:yh_guo@
计算机(软件)学院
任务
• 任务1:使用DTD设置XML元素属性默认 值 • 任务2:使用DTD设置XML元素属性类型
计算机(软件)学院
目标
• 知识目标
–DTD中定义XML元素属性的默认值和属性类 型的方法
计算机(软件)学院
案例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)>
计算机(软件)学院
案例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-1
阅读下面的DTD文档声明,写出相应的XML文档,并进行有效 性验证。 要求:数据自拟,包含一名男生和一名女生。
计算机(软件)学院
任务1:设置属性默认值
任务1-2: 必需赋值的属性设置( #REQUIRED )
<!ATTLIST 元素名 属性名 属性类型 #REQUIRED>
• 能力目标
–学会使用DTD定义XML元素属性默认值 –学生使用DTD定义XML元素属性数据类型
计算机(软件)学院
DTD属性声明语法
<!ATTLIST 元素名 属性名 属性类型 默认值>
ATTLIST表示该指令为定义属性的指令。 ATTLIST为关键字,必须大写。
计算机(软件)学院
案例
计算机(软件)学院
计算机(软件)学院
案例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>
若干空格分隔的NMTOKEN。 指定属性值为DTD中声明的记号名。
计算机(软件)学院
任务2:设置属性的类型
任务2-1: 枚举类型设置( Enumerated )