第四讲实体的定义和使用_第1页
第四讲实体的定义和使用_第2页
第四讲实体的定义和使用_第3页
第四讲实体的定义和使用_第4页
第四讲实体的定义和使用_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第四讲实体的定义和使用2023/6/23第一页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用本章要点:什么是实体内部实体的定义和使用外部实体的定义和使用内部参数实体的定义和使用外部参数实体的定义和使用2023/6/23第二页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.1什么是实体概念:实体就是包含XML文档片段的虚拟存储单元,用来存储XML声明、DTD或各种元素的数据,它是一个事先定义好的数据。通用实体(一般实体):用于载入数据到XML文档的基本元素中。参数实体:用于载入数据到文档的DTD中。2023/6/23第三页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用实体引用:在XML文档中使用实体名字代替实体的具体内容,组成一个结构完整的文档,这个过程称为“实体的引用”。使用实体的好处:提高文档的书写效率,使文档外观简洁。若对文档中多次出现的内容进行修改,只需修改实体定义部分即可。2023/6/23第四页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用按实体包含内容分类:字符和数字实体:用于描述非ASCII字符。文本实体:包含一些在文档中经常出现的文本串或块。二进制实体:保存非文本数据,如图像、声音等,是一种不可析实体。按实体存在形式分类:内部实体:完全在文档内部定义的实体。外部实体:存在于一个外部独立文件中的实体。2023/6/23第五页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.2内部实体的定义和使用内部实体在一个XML文档的内部定义,只能在该文档内部引用。就像子程序中的局部变量,只在该程序中生存,子程序退出,它也就是消亡。定义内部实体的语法为:

<!ENTITYentity_name“entity_content”><!ENTITY:定义实体的指令,ENTITY为关键字,必须大写。entity_name:定义实体的名字。entity_content:定义实体的具体内容。在文档中引用实体的语法为:&entity_name;2023/6/23第六页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用DTD中实体定义:2023/6/23第七页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用XML文档中实体引用:2023/6/23第八页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用浏览器中运行的结果:2023/6/23第九页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用可以在DTD中引用内部实体:例如:<!ENTITYcollege“常州信息职业技术学院”><!ENTITYdepartment“&college;软件分院”>2023/6/23第十页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用在DTD中引用内部实体时需要注意的问题:

(1)被引用的内部实体的内容只能是文档内容的一部分,或者说是字符数据,而不能包含置标。

如:<!ENTITYcontent"(title,chapter)"><!ELEMENTbook&content;>

(2)在定义内部实体时引用内部实体,要注意不能形成循环引用。

如:<!ENTITYcollege"&province;”><!ENTITYprovince“江苏省&college;">

(3)实体在DTD中只能被其他实体定义引用,不能被元素和属性定义所引用。

2023/6/23第十一页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.3外部实体的定义和使用

“外部实体”在文档中必须通过URL才能定位,外部实体为独立的文件,可以被多个文档所引用,具有更为广泛的共享性。XML通过对外部实体的引用,可以在一个XML文档中嵌入另一个XML文档,或者将多个文档组合为一个文档。2023/6/23第十二页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用<!ENTITYentity_nameSYSTEM“entity_URL”><!ENTITY:定义实体的指令。“ENTTTY”是关键字,必须大写。entity_name:要定义的实体的名字。SYSTEM:定义外部实体的关键字。entity_URL:能够找到该外部实体的URL地址。

定义外部实体的语法为:

文档中引用外部实体的语法:

&entity_name;

2023/6/23第十三页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用使用外部实体要注意的问题:

(1)由于要引用外部文件,所以文档声明中standalone属性的值不再是“yes”,而必须是“no”

。(2)作为外部实体的文档,如果使用的是XML默认字符集,如UTF-8,则可以没有XML声明;如果使用了默认字符集以外的字符集,如“GB2312”字符集,则必须有XML声明,且在声明中说明encoding属性。2023/6/23第十四页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.4内部参数实体的定义和使用

内部参数实体是指在独立的外部DTD文档的内部定义的参数实体。2023/6/23第十五页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用定义内部参数实体的语法为:

<!ENTITY%entity_name“entity_content”><!ENTITY:定义实体的指令。“ENTITY”是关键字,必须大写。

%表示定义的是内部参数实体。

Entity_name为要定义的内部参数实体的名字。Entity_content为要定义的内部参数实体的具体内容。

引用内部参数实体的语法为:

%entity_name;2023/6/23第十六页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用<!ELEMENT学生信息(姓名,性别,出生日期)>

<!ELEMENT教师信息(姓名,性别,出生日期)>

<!ELEMENT职工信息(姓名,性别,出生日期)>

内部参数实体定义:<!ENTITY%个人信息

“(姓名,性别,出生日期)”>

内部参数实体引用:<!ELEMENT教师信息%个人信息;><!ELEMENT职工信息%个人信息;><!ELEMENT学生信息%个人信息;>示例:2023/6/23第十七页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用使用内部参数实体需要注意的问题是:(1)内部参数实体必须先定义后引用。(2)在定义时“%”与实体名称之间必须有空格隔开。

2023/6/23第十八页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.5外部参数实体的定义和使用

在独立的外部DTD文档中,可以引用其他独立DTD文档中的定义,这种引用通过外部参数实体来实现。

外部参数实体与外部一般实体的区别如下:外部参数实体应用于独立的DTD文档,外部一般实体应用于XML文档。外部参数实体应用于将多个独立的DTD文档组合为一个大的DTD文档,外部一般实体用于将多个独立的XML文档组合成一个大的XML文档。

2023/6/23第十九页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用定义外部参数实体的语法为:

<!ENTITY%

entity_nameSYSTEM"entity_URL">

<!ENTYFY表示该语句为定义实体的指令。“ENTITY”是关键字,必须大写。

%表示定义的是外部参数实体。

entity_name为要定义的外部参数实体的名字。

SYSTEM为定义外部参数实体的关键字。

entity_URL为能够找到该外部参数实体DTD的URL地址。

引用外部参数实体的语法为:

%entity_name;2023/6/23第二十页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用基本信息:(ch4-5-1.dtd)2023/6/23第二十一页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用综合信息:(ch4-5-2.dtd)2023/6/23第二十二页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用外部DTD文档引用:(ch4-5.dtd)2023/6/23第二十三页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用使用外部参数实体需要注意以下几点。

在外部DTD文档中引用其他DTD文档,注意不能造成递归引用。被引用的外部DTD文档可以不是完整的DTD定义,但一般不提倡这样。最好所有的DTD文档都是一个完整的DTD定义。

每一个外部DTD文档都必须有一个声明,说明文档所使用的字符集。

2023/6/23第二十四页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用参数实体与一般实体的不同点:

在定义参数实体时,实体名前必须加一个“%”号。参数实体引用以“%”开始,而不是一般实体引用的“&”。

参数实体的内容不仅可以包含文本,还可以包含标记。

参数实体只能应用于DTD,而不能在文档本体中引用。即参数实体只能用来构成DTD的内容,而不能构成文档内容。参数实体只能在外部DTD文档中使用,无法应用于内部DTD。

2023/6/23第二十五页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.6INCLUDE与IGNORE使用INCLUDE与IGNORE标记的语法为:

<![INCLUDE[完整的DTD定义]]>

<![IGNORE[完整的DTD定义]]>

INCLUDE:需要加入的DTD;IGNORE:需要去除的DTD2023/6/23第二十六页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用使用INCLUDE与IGNORE需要注意的问题:(1)INCLUDE和IGNORE中包含的DTD定义必须是完整的用尖括号括起来的定义,而不能是完整定义中的一部分。(2)INCLUDE和IGNORE只能在DTD中使用。2023/6/23第二十七页,共三十页,编辑于2023年,星期五第四讲实体的定义和使用4.7外部非解析实体定义外部非解析实体的语法:<!ENTITY实体名SYSTEM“URL”NDATA格式名>NOTATION声明语法:

<!NOTATION格式名SYSTEM/PUBLIC应用处理程序>引用方法:<IMGPIC=

温馨提示

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

评论

0/150

提交评论