




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实体实体可以分为通用实体和参数实体。通用实体:用于XML文档中,用于引用文本或者二进制数据。参数实体:只能在DTD中使用。通用实体与参数实体可以是内部实体或者是外部实体。内部实体:与XML文档存储在一起;外部实体:存放在其它文件内,用URL引用实体还可以分为未解析实体与解析的实体。解析实体:可由XML解析器处理的实体,即由文本字符数据内容构成的实体,实质是用较短的文本替代较长的文本的方法,修改较方便,解析实体可以在元素中引用。未解析实体:不能被XML解析器处理的实体,但是要提供给其他的应用程序去处理。一般以二进制形式存在,如图片、音乐、WORD文档等,未解析实体只能出现在属性值中。XML常用到的5种实体形态:
1、通用内部解析实体
2、通用外部解析实体
3、通用外部未解析实体
4、参数内部解析实体
5、参数外部解析实体实体—通用实体通用内部解析实体通用内部解析实体是最简单最常用的实体,语法如下:<!ENTITY实体名“实体内容”>注意:实体内容为文本数据在xml文件中的引用方式为:&实体名;实例1:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗舰店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop></root>注意:在实体中可以嵌套实体,但是不能是两个实体互相嵌套。下面正确的引用:<!ENTITYone“one”><!ENTITYtwo“&one;Iamtwo”>下面是不正确的引用:<!ENTITYone“Hello&two;”><!ENTITYtwo“Hello&one”>通用外部解析实体外部实体:实体引用值不是文本内容,而是一个独立的外部文件。外部实体格式如下:<!ENTITY实体名SYSTEMurl_uri>例:<!ENTITYbookfileSYSTEM/bookfile.xml>引用如下:<book>&bookfile;</book>通用外部解析实体实例2:otherSize.xml文件内容如下:<?xmlversion="1.0"encoding="utf-8"?><option>bigtoo</option>DTD中引用otherSize.xml文件
<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗舰店"><!ENTITYmedium"中等"><!ENTITYsmall"小型"><!ENTITYotherSizeSYSTEM"otherSize.xml">]>通用外部解析实体<root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop><shop><name>联华</name><address>文二路</address>
<size>&otherSize;</size></shop></root>通用外部解析实体在ie8中显示的效果:实体—参数实体参数实体:只能在DTD中使用,其主要用途是简化DTD的语法。可分为参数内部解析实体和参数外部解析实体。内部实体:与XML文档存储在一起;外部实体:存放在其它文件内,用URL引用参数内部解析实体参数内部解析实体的声明语法如下:<!ENTITY%实体名“实体内容”>引用方式为:%实体名;作用:参数内部解析实体相当于DTD代码段的声明。实例3:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ENTITY%shopattr"<!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpic(#PCDATA)><!ELEMENTremark(#PCDATA)>"><!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)>%shopattr;<!--使用参数实体替代--><!ENTITYbig"旗舰店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size></shop></root>参数外部解析实体使用参数外部解析实体可以方便的组织分布在各个文件中的DTD文件。作用相当的大。它的声明语法如下:<!ENTITY%实体名SYSTEMurl_uri>引用方式为:%实体名;参数外部解析实体实例4:<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEROOT[<!ELEMENTROOT(A|B)*><!ENTITY%A_atrrSYSTEM"A.dtd"><!ENTITY%B_atrrSYSTEM"B.dtd">%A_atrr;%B_atrr;]><ROOT><A><NAME_A>IamA!</NAME_A></A><B><NAME_B>IamB;</NAME_B></B></ROOT>A.Dtd文件:<?xmlversion="1.0"encoding="utf-8"?><!ELEMENTA(NAME_A)><!ELEMENTNAME_A(#PCDATA)>B.Dtd文件:<?xmlversion="1.0"encoding="utf-8"?><!ELEMENTB(NAME_B)><!ELEMENTNAME_B(#PCDATA)>实体—通用外部未解析实体NOTATION类型NOTATION类型对于使用非XML格式的数据非常有用。现实世界中存在很多无法或不易用XML格式组织的数据,例如图象、声音、影象等等。对于这些数据,XML应用程序常常并不提供直接的应用支持。通过为它们设定NOTATION类型的属性,可以向应用程序指定一个外部的处理程序
。NOTATION类型NOTATION类型:若一个属性被定义为NOTATION类型,则允许该属性的属性值为一个DTD中声明的符号。要使用NOTATION类型作为属性的类型,首先要在DTD中为可选用的符号做出定义。符号定义的方式有两种:一种是使用MIME类型,形式是:<!NOTATION符号名SYSTEM“MIME类型”>另一种是使用一个URL路径。即外部程序所在路径,直接指定某个外部程序负责处理XML文档中的外部数据。形式是:
<!NOTATION符号名SYSTEM“URL路径”>NOTATION类型MIME类型是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。常见的MIME类型(通用型):NOTATION类型超文本标记语言文本text/htmlxml文档text/xmlPDF文档application/pdfMicrosoftWord文件application/mswordPNG图像image/pngGIF图形image/gifJPEG图形image/jpegMPEG文件video/mpegAVI文件
video/x-msvideoNOTATION类型符号通常有两种用途:(1)属性类型为NOTATION类型,符号可以作为该类属性的属性值。定义NOTATION类型的属性时,语法如下:<!ATTLIST元素名属性名NOTATION(值1|值2|...)默认值>NOTATION类型例:<?xmlversion="1.0"encoding="GB2312"standalone="yes"?><!DOCTYPE文件[<!ELEMENT文件ANY><!ELEMENT电影(#PCDATA)><!ATTLIST电影演示设备NOTATION(mp|gif)#REQUIRED><!NOTATIONmpSYSTEM"movPlayer.exe"><!NOTATIONgifSYSTEM"Image/gif">]><文件><电影演示设备=“mp”>BIANXINGJINGANG</电影></文件>NOTATION类型符号通常有两种用途:(2)符号可以用来定义未解析实体。该未解析实体可以作为ENTITY或ENTITIES属性类型的属性值。通用外部未解析实体通用外部未解析实体的格式:<!ENTITY实体名SYSTEM二进制数据位置NDATA符号名称><!NOTATION符号名SYSTEM“MIME类型或应用程序的URL”>通用外部未解析实体只能用在元素属性中,元素属性必须为ENTITY类型或ENTITIES类型。定义方法如下:<!ATTLIST元素名属性名ENTITY#REQUIRED>注意:ENTITY类型或ENTITIES类型的属性提供把外部二进制数据和外部不可解析实体链接到文档中的能力。引用方法如下:<元素名属性名=“实体名”>通用外部未解析实体<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpicEMPTY><!ATTLISTpicsourceENTITY#REQUIRED><!NOTATIONJPEGSYSTEM"acdsee.exe"><!ENTITYpic1SYSTEM"pic1.jpg"NDATAJPEG><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗舰店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size><picsource="pic1"/></shop></root>ENTITIES是ENTITY的复数形式。ENTITIES类型的属性值是由空格分隔多个未解析的实体名称组成的。每个实体名称引用一个外部的非XML数据源。通用外部未解析实体<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(shop)+><!ELEMENTshop(name,address,size,pic*,remark?)><!ELEMENTname(#PCDATA)><!ELEMENTaddress(#PCDATA)><!ELEMENTsize(#PCDATA)><!ELEMENTpicEMPTY><!ATTLISTpicsourceENTITIES#REQUIRED><!NOTATIONJPEGSYSTEM"acdsee.exe"><!ENTITYpic1SYSTEM"pic1.jpg"NDATAJPEG><!ENTITYpic2SYSTEM"pic2.jpg"NDATAJPEG><!ELEMENTremark(#PCDATA)><!ENTITYbig"旗舰店"><!ENTITYmedium"中等"><!ENTITYsmall"小型">]><root><shop><name>物美</name><address>文一路</address><size>&big;</size>
<picsource=“pic1pic2"/></shop></root>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物流配送合同与供应商厂家
- 解除投资项目合同协议书
- 行政管理行为分析试题及答案
- 合同补充协议书显示页脚
- 网络优化技术试题及答案解读
- 软件测试复习方法与试题解析
- 电气工长笔试题及答案解析
- 嵌入式开发所需的软硬件结合试题及答案
- 提高数据库书面表达能力的技巧试题及答案
- 轮胎工装测试题及答案
- 微播易中国广告协会2025年社交媒体与KOL营销趋势报告
- 《离散数学》题库答案
- 项目陪跑协议书
- 口腔种植手术协议书
- 小学英语-国际音标-练习及答案
- 2025-2030年国有银行行业市场深度分析及竞争格局与投资发展研究报告
- 2025年建筑模板制品行业深度研究报告
- 挂名股东签署协议书
- 提前预付工资协议书
- 湖北省荆门市2025年七年级下学期语文期末考试试卷及答案
- 2025年劳动与社会保障政策考试试题及答案
评论
0/150
提交评论