- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《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
您可能关注的文档
- “一带一路”国际合作 专业教师交流学习 台湾培训交流报告.doc
- 《生活中的会计学》 《生活中的会计学》 2.4存货清查.docx
- 01专业信息库 教学资源 风景写生.doc
- 01专业信息库 教学资源 环境艺术模型设计与制作.doc
- 4-作品展示库 05简易心率计 (无锡职业技术学院) 简易心率计结题报告.docx
- 4-作品展示库 06基于HALCON的漆面材料划痕检测系统的设计与实现 (无锡职业技术学院) 附件3-结题报告格式.doc
- 5-行业企业库 05_华北区域 北京天一众合科技股份有限公司.docx
- 06行企信息库 创新案例 前言技术-创新案例-美国加利福尼亚理查森公寓景观花园.doc
- 06行企信息库 创新案例 前言技术-创新案例-让人们回到被遗忘的空间-——人权广场.doc
- 06行企信息库 创新案例 前言技术-创新案例-斯洛文尼亚城市中心地标流水雕塑艺术设计.doc
文档评论(0)