XML实体

来源:互联网 发布:cf网络加速器官方下载 编辑:程序博客网 时间:2024/06/10 09:06

实体可以用以下3种方式分类:
1、通用实体和参数实体,通用实体(general entity)用于XML文档中,在文档中通过引用来生成文字数据或二进制数据;而参数实体(parameter entity)只能用于DTD中。
2、内部实体和外部实体,内部实体(internal entity)完全引用它的文档内定义;外部实(external entity)的内容则全部来源于外部文档。
3、解析实体和未解析实体,解析实体(parsed entity)的内容是规范的XML文本;未解析实体(unparsed entity)的内容为二进制数据,它不应该被XML处理器解析。

3种实体可以组合出8种实体,但实际上XML只用到5种形态:
1、通用内部解析实体
2、通用外部解析实体
3、通用外部未解析实体
4、参数内部解析实体
5、参数外部解析实体


1、通用内部解析实体
<!ENTITY alpha "α">

5个预定义实体:
&amp;    &
&apos;   '
&gt;     >
&lt;     <
&quot    "

实体可以嵌套

2、参数内部解析实体:
定义:
<!ENTITY % name "
<!ELEMENT ....>
....
">
引用:
%name;

3、通用外部解析实体
可以使用SYSTEM和PUBLIC关键字来进行宣告
<!ENTITY topic SYSTEM "topic.xml">
引用:&topic;

4、通用外部未解析实体
宣告格式:
<!ENTITY 实体名 SYSTEM 二进制数据位置 NDATA 标记名>
例:
<!ENTITY pic1 SYSTEM "mypic.jpg" NDATA JPEG>

标记的定义格式:
<!NOTATION 标记名 SYSTEM 标记描述文字>

可以是以下内容:
<!NOTATION JPEG SYSTEM "acdsee.exe">
<!NOTATION SOMEFORMAT SYSTEM "http://www.163.com>
<!NOTATION GIF SYSTEM "fdjskjfksjd">

5、参数外部解析实体
<!ENTITY % book_dec SYSTEM "book.dtd">
%book_dec;

 

原创粉丝点击