XML应用开发(软件品牌)-1期 DTD中属性取值方式的定义(上) 2.8 案例分析-DTD中属性取值方式的定义(上).docVIP

  • 2
  • 0
  • 约4.16千字
  • 约 5页
  • 2021-01-28 发布于北京
  • 举报

XML应用开发(软件品牌)-1期 DTD中属性取值方式的定义(上) 2.8 案例分析-DTD中属性取值方式的定义(上).doc

《XML应用开发》教学案例 软件学院 第 PAGE 2 页 共= numpages 4 5 5 页 《使用DTD定义XML文档》教学案例 ——2.8 DTD中属性取值方式的定义(上) 知识点 理解DTD属性声明、掌握设定属性的默认值方式及必需赋值方式 技能点 会使用DTD属性的声明、会设定属性的默认值方式及必需赋值方式 知识介绍 属性是可以在开始和空标签中使用的用来添加附加信息的名值对。属性是对元素的补充和修饰,它能够将一些简单的特性与元素相关联。通过属性,我们可以给元素绑定大量信息。例如,Book Title= 软件系统开发技术(修订版) ISBN=7-5606-0492-7 UnitPrice=12.30/,其中元素Book的属性Title指出书名“软件系统开发技术(修订版)”,Book的ISBN属性值为“7-5606-0492-7”,Book的UnitPrice属性指出图书的单价为“12.30” 属性声明的基本语法 在XML DTD中是使用ATTLIST标记声明属性。对于含属性的元素,至少要通过一个ATTLIST标记声明其属性列表。ATTLIST声明由以下部分构成:ATTLIST关键字、属性修饰的元素名称,以及零个或多个属性定义。为了增强可读性,每个属性定义通常占据单独的一行。属性定义包含属性名称、类型和缺省声明。在DTD中定义属性的基本语法为: !ATTLIST ElementName AttributeName Type [Keyword] [DefaultValue] 上述语法说明如下: (1)ATTLIST为定义属性的指令,是关键字,必须大写。 (2)ElementName为DTD中声明的元素名称。 (3)AttributeName为元素ElementName的属性名称。 (4)Type为属性值的类型。DTD中属性值的类型的定义有10种,将在3.4.3小节中介绍。 (5)Keyword为设定属性缺省值的关键字,可缺省。属性缺省值设定将在3.4.2小节介绍。 (6)DefaultValue为属性的缺省值,该项可以缺省。定义元素的属性时,可以指定一个缺省值,如果XML文档中没有明确对元素属性赋值,则DTD中定义的该属性的缺省值将被选用。 设定属性的缺省值 属性的声明可以有几种不同的缺省值,它定义了属性在文档中出现的方式。属性的缺省值可以直接指定,可以要求作者必须提供,也可以忽略属性值,甚至可以指定固定值。下面分别对这几种情况进行讨论。 直接指定缺省值 在DTD中使用关键字ATTLIST进行属性声明时,可以给属性一个缺省值,该缺省值用引号包围。在XML中如果重新设定了属性的新值,则新值将代替缺省值。如果没有重新设定该属性的新值,则DTD中定义的缺省值将作为该属性的值。声明语法如下: !ATTLIST 元素名称 属性名称 属性类型 缺省值 #REQUIRED 有时无法知道属性的默认值是什么,但在XML文档中又必须要求提供属性值。这时可以使用大写关键字#REQUIRED作为属性的缺省值,要求XML文档的编写者在编写XML文档时,必须给设定了关键字#REQUIRED的属性赋值,并将其包含到指定的元素中。如果语法分析器遇到应包含该属性的元素而没有设定该属性将返回一个错误。声明语法如下: !ATTLIST 元素名称 属性名称 属性类型 #REQUIRED 案例1:直接指定属性缺省值 【代码实现】: 01 ?xml version = 1.0 encoding=UTF-8 standalone=yes? 02 !DOCTYPE BookList [ 03 !ELEMENT Title (#PCDATA) 04 !ELEMENT Author (#PCDATA) 05 !ELEMENT Publisher (#PCDATA) 06 !ELEMENT PubDate (#PCDATA) 07 !ELEMENT ISBN (#PCDATA) 08 !ELEMENT Book (Title,Author,Publisher,PubDate,ISBN) 09 !ELEMENT BookList (Book)* 10 !ATTLIST Book Category CDATA 计算机 11 ] 12 BookList 13 Book Category=计算机 14 Title软件工程/Title 15 Author邓良松,刘海岩/Author 16 Publisher西安电子科技大学出版社/Publisher 17

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档