内部一般实体
来源:互联网 发布:网络连接监控软件 编辑:程序博客网 时间:2024/05/18 17:02
所谓内部一般实体就是指在xml文档内部定义的并且可以在xml文档中使用的实体,这种实体通常是一段代码的缩写。
一个内部实体声明
语法:
<!ENTITY 实体名称 "实体的值">
引用语法:
&实体名;
例:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Teams[<!ELEMENT Teams (Team*)><!ELEMENT Team (Teamname,Country,Member+)><!ELEMENT Teamname (#PCDATA)><!ELEMENT Country (#PCDATA)><!ELEMENT Member (#PCDATA)><!ENTITY Email "xxxx@xxx.com"><!ENTITY Tel "xxxxxxx">]><Teams><Team><Teamname>AC</Teamname><Country>Italy</Country><Member>Tel:&Tel;Email:&Email;</Member></Team></Teams>
通过了合法性检验(xmlspy),浏览器查看如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Teams (View Source for full doctype...)> - <Teams>- <Team> <Teamname>AC</Teamname> <Country>Italy</Country> <Member>Tel:xxxxxxxEmail:xxxxxxx@xxx.com</Member> </Team> </Teams>
内部一般实体除了可以在xml文档的基本元素中引用外,还可以在DTD的内部引用,在DTD内部引用要注意3点:
(1) DTD内部对实体的引用一般只能用于另外一个实体的定义中,但不能用于元素的声明中。
(2) 内部一般实体无须先定义后引用。
(3) 由于内部一般实体无须先定义后引用,因此在一个实体定义中引用另外一个实体时,必须要避免重复引用而造成引用的死循环。
例:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Teams[<!ELEMENT Teams (Team*)><!ELEMENT Team (Teamname,Country,Member+)><!ELEMENT Teamname (#PCDATA)><!ELEMENT Country (#PCDATA)><!ELEMENT Member (#PCDATA)><!ELEMENT Email (#PCDATA)><!ENTITY Email "Email=&Mail;"><!ENTITY Mail "xxxxxxx@mail.com"><!ENTITY Tel "xxxxxxx">]><Teams><Team><Teamname>AC</Teamname><Country>Italy</Country><Member>Tel:&Tel;Email:&Email;</Member></Team></Teams>
浏览器显示结果:
这说明符合(2);如果将内部一般实体的引用用于DTD中的元素的声明会如何呢?
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Teams[<!ELEMENT Teams (Team*)><!ELEMENT Team (Teamname,Country,Member+)><!ELEMENT Teamname &name;><!ELEMENT Country (#PCDATA)><!ELEMENT Member (#PCDATA)><!ELEMENT Email (#PCDATA)><!ENTITY Email "Email=&Mail;"><!ENTITY Mail "xxxxxxx@mail.com"><!ENTITY Tel "xxxxxxx"><!ENTITY name "AC">]><Teams><Team><Teamname>AC</Teamname><Country>Italy</Country><Member>Tel:&Tel;Email:&Email;</Member></Team></Teams>
该文档的合法检验结果为:
- 内部一般实体
- xml内部实体的引用
- DTD参数实体与一般实体的区别
- java实体类里有个'内部实体类'的调用方法
- hibernate实体类配置文件,一般命名为 类名.hbm.xml
- ASP.NET之一般处理程序内部请求原理
- 一般
- 实体
- 实体
- 实体
- 实体
- 实体
- IIS 5的http 500内部服务器错误的一般解决办法
- asp.net第二天 iis内部机制与一般处理程序
- 现在的计算机内部 一般是采用原码?反码?还是补码?
- 看好你的门-攻击服务端(1)-注入XML内部实体
- 内部
- ui控件的属性一般都是weak,但是内部变量的属性都是强引用,一般我们都是创建一个内部变量,然后让控件引用属性指向内变量
- java 注解:SuppressWarnings、Deprecated、Override
- 使用VC连接Access数据库的两种方法
- java转义字符对照表
- 内存异常系列之单例模式导致内存泄露
- JDOM 生成xml
- 内部一般实体
- Win32编程基本概念
- c++模板类(1) 理解编译器的编译模板过程
- linux socket编程
- linux下各种解包打包命令大全
- POI解析Doc
- 局域网访问另一台电脑的c盘文件夹以及远程连接桌面的命令
- mappingDirectoryLocations/mappingJarLocations/mappingResources/mappingLocations的区别
- JS控制日期格式