《实体的定义和使用》由会员分享,可在线阅读,更多相关《实体的定义和使用(41页珍藏版)》请在金锄头文库上搜索。
1、第四章 实体的 定义和使用主讲人:杨春蓉Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.v 什么是实体v 内部实体的定义和使用v 外部实体的定义和使用v 内部参数实体的定义和使用v 外部参
2、数实体的定义和使用本章要点:第四章 实体的定义和使用Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.一个简单的XML文档可以从许多不同的资源和文件中取得数据和声明。实际上,有些 数据直接来
3、自数据库、CGI(Common Gateway Interface,公共网关接口)脚本或其他非文件格式资源。无论采取形式,保存XML文档的内容可以称为实体。实体引用把实体载 入到XML主文档中。Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyrigh
4、t 2004-2011 Aspose Pty Ltd.v什么是实体1 、实体的概念;在DTD的声明当中,另一项常见的声明就是实体( ENTITY)的声明。实体就是包含了文档片段或者说部分内容的虚 拟存储单元,用来存储XML声明、DTD各种元素或者其他形式的文本和二进制数据。简单的来说,实 体是一个事先定义好的数据,当要取用该数据时, 只要使用“引用方式”便可以将数据放入引用之处。Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with
5、Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.#define 3.1415926请看下面的例子:dtdFile.dtd:Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client
6、 Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.我正在看上的节目, 喜欢 。Cha3_15.xmlEvaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose
7、Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.实体的引用:每个实体都有一个名字,在XML文档中可以使用这个名字来代替实体的具体内 容,这个过程称为“实体的引用”。Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copy
8、right 2004-2011 Aspose Pty Ltd.2 、为什么使用实体?(好处)v修改数据更方便快捷,一改全改;v可以共享和重复使用数据;v简化程序;Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspo
9、se Pty Ltd.实体有各种类型,如下面所示的分类。但实体有各种类型,如下面所示的分类。但 它们所起的作用是相同的。它们所起的作用是相同的。实体分为实体分为普通实体普通实体和和参数实体参数实体, ,普通实体简普通实体简 称为称为实体实体. .普通实体普通实体: :实体在实体在DTDDTD文件中定义文件中定义, ,在和该在和该 DTDDTD关联的关联的XMLXML文件中通过实体引用引用文件中通过实体引用引用 的实体的实体. .参数实体参数实体: :在在DTDDTD文件中定义文件中定义, ,只能由只能由DTDDTD 文件本身通过实体引用使用参数实体文件本身通过实体引用使用参数实体, ,参数参数
10、 实体和关联的实体和关联的XMLXML无关无关. .3 、实体的分类:Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Evaluation only. Cr
11、eated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.4 、普通实体的分类:v从外观上:小到一个简单的字符,大到可以是一 个完整的XML文档.v从实体所包含的内容分类,可分成以下几种: 字符和数字实体,用于描述非ASCII字符. 文本实体,一般包含一些在文档中经常
12、出现的文 本串或块. 二进制实体,保存非文本数据,如图像,声音等.可解析实 体不可解析实体Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.v内部实体:就是实体的内容已经包含在DTD文件本身
13、中;(只能在当前文档中引用)。v外部实体:指实体的内容是DTD文件以外的其他独立的文件。在文档中必须通过URL才能定位的 实体,(可以被多个文档所引用)。按照实体的存在形式分类,有如下两种实体:Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyrigh
14、t 2004-2011 Aspose Pty Ltd.我正在看上的节目, 喜欢。Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.外部实体的定义和使用: 例如: 参照例题15:Evaluat
15、ion only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.(1)实体的内容中的文本数据不要含有左尖括 号“”、与符号“” 、单引号“” 和双引号XML对DTD进行语法分析时,会出现 错误.应当使用预定义实体引用来
16、使用这些字符. 例如:在DTD中引用内部实体时需要注意以下几个方面的 问题:Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd.(2)在定义内部实体时引用内部实体,要注意不能形成循环引用。如下定义是非法的:” (3)实体在DTD中只能被其他实体定义引用,不能被元素和属性定义所引用。Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspos