实体的定义和使用1.ppt_第1页
实体的定义和使用1.ppt_第2页
实体的定义和使用1.ppt_第3页
实体的定义和使用1.ppt_第4页
实体的定义和使用1.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 实体的定义和使用,主讲人:杨春蓉,什么是实体 内部实体的定义和使用 外部实体的定义和使用 内部参数实体的定义和使用 外部参数实体的定义和使用,本章要点:,第四章 实体的定义和使用,一个简单的XML文档可以从许多不同的资源和文件中取得数据和声明。实际上,有些数据直接来自数据库、CGI(Common Gateway Interface,公共网关接口)脚本或其他非文件格式资源。无论采取形式,保存XML文档的内容可以称为实体。实体引用把实体载入到XML主文档中。,什么是实体,1 、实体的概念; 在DTD的声明当中,另一项常见的声明就是实体(ENTITY)的声明。 实体就是包含了文档片段或者说部分内容的虚拟存储单元,用来存储XML声明、DTD各种元素或者其他形式的文本和二进制数据。简单的来说,实体是一个事先定义好的数据,当要取用该数据时,只要使用“引用方式”便可以将数据放入引用之处。,#define 3.1415926 ,请看下面的例子:dtdFile.dtd:, 我正在看 ,Cha3_15.xml,实体的引用: 每个实体都有一个名字,在XML文档中可以使用这个名字来代替实体的具体内容,这个过程称为“实体的引用”。,2 、为什么使用实体?(好处),修改数据更方便快捷,一改全改; 可以共享和重复使用数据; 简化程序;,实体有各种类型,如下面所示的分类。但它们所起的作用是相同的。 实体分为普通实体和参数实体,普通实体简称为实体. 普通实体:实体在DTD文件中定义,在和该DTD关联的XML文件中通过实体引用引用的实体. 参数实体:在DTD文件中定义,只能由DTD文件本身通过实体引用使用参数实体,参数实体和关联的XML无关.,3 、实体的分类:,4 、普通实体的分类:,从外观上:小到一个简单的字符,大到可以是一个完整的XML文档. 从实体所包含的内容分类,可分成以下几种: 字符和数字实体,用于描述非ASCII字符. 文本实体,一般包含一些在文档中经常出现的文本串或块. 二进制实体,保存非文本数据,如图像,声音等.,可解析实体,不可解析实体,内部实体:就是实体的内容已经包含在DTD文 件本身中;(只能在当前文档中引用)。 外部实体:指实体的内容是DTD文件以外 的其他独立的文件。在文档中必须通过 URL才能定位的 实体,(可以被多个文 档所引用)。,按照实体的存在形式分类,有如下两种实体:, 我正在看 ,外部实体的定义和使用:, & department; & xinguan1; & xinguan2; & xinguan3; ,二、内部实体的定义和使用:,在DTD中,定义内部实体的格式是: 在文档中引用实体的语法为: 参照例题15:,(1)实体的内容中的文本数据不要含有左尖括号“”、与符号“” 、单引号“”和双引号XML对DTD进行语法分析时,会出现错误.应当使用预定义实体引用来使用这些字符.例如: ,在DTD中引用内部实体时需要注意以下几个方面的问题:,(2)在定义内部实体时引用内部实体,要注意不能形 成循环引用。如下定义是非法的: ” (3)实体在DTD中只能被其他实体定义引用,不能被 元素和属性定义所引用。 ,三、外部实体的定义和使用:,外部实体是指实体的内容是DTD文件以 外的其它文件。外部实体的格式分为两种: (1)含义: SYSTEM格式: 实体是一个外部文件,该外部文件由个人或工作小组所定义且认可; PUBLIC格式:实体是一个外部文件,该外部文件由已经得到某一领域的认可,是经过许多人讨论得到认可的文件。,(2)定义格式:,定义外部实体的语法为: !ENTITY表示该语句为定义实体的指令。“ENTITY”是关键 字,必须大写。 entity_name为要定义的实体的名字。 SYSTEM为定义外部实体的关键字。 entityURL为能够找到该外部实体的URL地址。 在文档中引用外部实体的语法与引用内部实体的语法一样,如: ,(2)定义格式:, dtdFile.dtd ,Cha3_16.xml, 这是一个java文件: ”,三、外部实体的定义和使用:,使用外部实体要注意如下两个方面的问题: (1)由于要 引用外部文件,所以文档声明中standalone属性的值必须是”no”; (2)作为外部实体的文档,如果使用的是XML默认字符集,如UNICODE或UTF-8,则可以没有XML声明:如果使用了默认字符集以外的字符集,如“GB2312”字符集,则必须有XML声明,且在声明 中说明encoding属性。,四、内部参数实体的定义和使用:,参数实体 在DTD文件中定义。只能由DTD文件本身通过实体引用使用参数实体,和关联的XML无关。 为什么用参数实体? 使用参数实体不仅可以方便DTD文件的编写,而且有 利于DTD文件的维护。 假如准备约束XML文件中的若干标记都有完全相同的子标记,比如如下元素: 全都修改为形如: ,四、内部参数实体的定义和使用:,假如我们事先声名了参数实体及其引用: 那么,只要将node引用的实体“(性别,年龄)” 修改为“(sex,age,borth)”即可。,四、内部参数实体的定义和使用,内部参数实体: 就是实体的内容已经包含在独立的(外部的)DTD文 件本身中;(只能在当前文档中引用)。 外部参数实体: 指实体的内容是其它的独立(外部的 )DTD文件。在文档中必须通过 URL才能定位的 实体,(可以被多个文档所引用)。,内部参数实体:,dtdFile.dtd ,内部参数实体:,Cha3_17.xml 2003年 100台 2005年 580部 ,外部参数实体:, 李兵兵 男 19701018 林秀秀 女 1972i018 胡琳 女 19851018 ,外部参数实体:,例45所引用的文档(ch45-1dtd)内容如下: 基本信息; 综合信息; 上述实例所引用的文档(ch452dtd)内容如下: ,外部参数实体的使用实例:,上述实例所引用的文档(ch453dtd)内容如下: ,参数实体与一般实体有如下不同:,(1)在定义参数实体时,实体名前必须加一个“”号,注意两者之间要有空格。 (2)参数实体引用以开始,而不是一般实体引用的“”。 (3)参数实体的内容不仅可以包含文本,还可以包含标记。 (4)参数实体只能应用于 DTD ,而不能在XML文档本体中引用。即参数实体只能用来构成DTD的内容,而不能构成文档内容。 (5)参数实体只能在外部DTD文档中使用,无法应用于内部DTD。,四、内部参数实体的定义和使用,定义内部参数实体的语法为: !ENTITY表示该语句为定义实体的指令。 ENTITY是关键字,必须大写。 表示定义的是内部参数实体。 entity_name为要定义的内部参数实体的名字。 entity_content为要定义的内部参数实体的具体内容。,四、内部参数实体的定义和使用,引用内部参数实体的语法为: entity_name;,dtdFile.dtd ,四、内部参数实体的定义和使用,Cha3_17.xml 2003年 100台 2005年 580部 ,外部参数实体的定义和使用:,外部参数实体: 在独立的外部DTD文档中,可以引用其他独立DTD文档中的定义,这种引用就是通过外部参数实体来实现的。这个过程与XML文档通过外部一般实体引用其他XML文档内容的过程十分相似。外部参数实体与外部一般实体的作用十分相似,其区别如下。 (1)外部参数实体应用于独立的DTD文档,外部一般实体应用于XML文档。 (2)外部参数实体应用于将多个独立的DTD文档组合为一个大的DTD文档,外部一般实体用于将多个独立的XML文档组合成一个大的XML文档。,外部参数实体的定义和使用:,对于较复杂的应用,其DTD一般也是相当的庞大。这时候往往会按照DTD的内容或逻辑结构将其分为几个较小的、独立的DTD文档,再使用外部参数实体将其连接为一个完整的DTD文档。 定义外部参数实体的语法为: ,外部参数实体的定义和使用:,!ENTITY表示该语句为定义实体的指令。“ENTITY”是关键字,必须大写。 表示定义的是外部参数实体。 entity name为要定义的外部参数实体的名字。 SYSTEM为定义外部参数实体的关键字。 entity URL为能够找到该外部参数实体DTD的URL地址。 引用外部参数实体的语法与引用内部参数实体的语法完全一致: entity_name;,外部参数实体的使用实例:, 李兵兵 男 19701018 林秀秀 女 1972i018 胡琳 女 19851018 ,外部参数实体的使用实例:,例45所引用的文档(ch45-1dtd)内容如下: 基本信息; 综合信息; 上述实例所引用的文档(ch452dtd)内容如下: ,外部参数实体的使用实例:,上述实例所引用的文档(ch453dtd)内容如下: ,外部参数实体的使用:,使用外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论