- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 DTD础
第 二 章 DTD 蒲国林 pugl@163.com 四川文理学院计算机科学系 课程目标 DTD简介 DTD语法 普通实体、参数实体 根据XML文档编写DTD 体验项目——根据学生信息的XML文档编写DTD 在上一章我们编写了关于学生信息的XML文档,但是该文档只是结构良好的XML文档,为了得到有效的XML文档,应当在该文档中加入DTD。定义“班级”元素下的“学生”子元素的个数,学生可同时拥有多个电子邮箱,每个学生有电话或手机,并定义了参数实体。部分参考代码如下: DTD简介 什么是DTD 在信息的高速交流中,不同领域之间的信息交换越来越紧密,如何才能保证这些不同领域之间的信息可以更容易且更有效率地交换成为我们首要关注的问题。为了解决这个问题,就需要不同的领域来针对领域的特性制定共同的信息内容模型(content model),然后再通过这个共同的内容模型来标识信息。而DTD就是一种内容模型。 DTD(文档类型定义)可以定义合法的XML文档结构,它使用一系列合法元素来定义文档的结构。DTD分为内部DTD和外部DTD,所谓内部DTD是指该DTD在某个文档的内部,只被该文档使用。外部DTD是指该DTD不在文档内部,可以被其他所有的文档来共享。DTD文档与XML文档实例的关系可以看成是类和对象的关系。 DTD的优势 每一个XML文档都可携带一个DTD,用来对该文档格式进行描述,测试该文档是否为有效的XML文档。既然DTD有外部和内部之分,当然就可以为某个独立的团体定义一个公用的外部DTD,那么多个XML文档就都可以共享使用该DTD,使得数据交换更为有效。甚至在某些文档中还可以使内部DTD和外部DTD相结合。在应用程序中也可以用某个DTD来检测接收到的数据是否符合某个标准。 对于XML文档而言,虽然DTD不是必须的,但它为文档的编制带来了方便。加强了文档标记内参数的一致性,使XML语法分析器能够确认文档。如果不使用DTD来对XML文档进行定义,那么XML语法分析器将无法对该文档进行确认。 元素的定义 根元素的声明 每个XML文档都只有一个根元素,其它的子元素都包含在该根元素中。因此在DTD中对根元素的声明是必不可少的。根元素声明的一般形式如下: !DOCTYPE root[ !-- 子元素 -- ] !-- 文件体 -- 元素类型 子元素的定义格式如下: !ELEMENT 元素名 元素类型 ELEMENT是关键字,后面跟元素名和元素类型,中间用空格分开。元素类型一般分为以下几种: EMPTY和#PCDATA 属于EMPTY类型的元素没有字符串值,即该元素不包含任何内容,但可以有一个或多个属性。如下: ANY类型 ANY类型表示可以包含多个子元素且不受限制,也可包含字符串数据。但ANY一般用在对根元素的声明中。如下: 其它非关键字类型 只包含子元素 将某个元素定义为只包含子元素,没有字符串数据。如下: 属性的定义 属性定义的一般格式如下: !ATTLIST 元素名 属性名 类型 属性特征 ATTLIST是关键字;元素名是指该属性所属的元素的名称;属性名是该属性的标识;类型是表示该属性属于何种类型;属性特征是对该属性的约束,比如设置是否每个元素实例都必须有该属性等控制。如下: 属性的类型 属性的类型有以下十种 : CDATA属性类型 CDATA类型表示属性值可以是任意的字符、数字、符号等。 如下: NMTOKEN和NMTOKENS NMTOKEN类型要求属性值中不能包含空格且必须以下划线、数字或字母开头。 ID属性类型 ID类型要求每个元素实例的属性值必须不同。如下: IDREF和IDREFS 被声明为IDREF属性类型的属性值等于ID属性类型的属性值。如下 : 枚举型 ENTITY 和ENTITIES ENTITY的属性值必须对应某个实体。 ENTITIES与ENTITY类似,ENTITIES的属性值对应多个实体,并用空格分开。 如下: NOTATION属性类型 属性的特征 属性的特征主要有以下几种: ?xml version=1.0 encoding=gb2312? !DOCTYPE people[ !ELEMENT people (person+) !ELEMENT person (#PCDATA) !ATTLIST person 性别 (男|女) #IMPLIED !ATTLIST person 姓名 CDATA #REQUIRED !ATTLIST person 应聘职位 CDATA 经理 !ATTLIS
文档评论(0)