内部通用实体
内部通用实体引用可看作经常使用的文本或强制格式的文本的缩写。DTD中的<!ENTITY>标记定义缩写,并且该缩写就代替了文本。例如:可在DTD中简单地把页脚定义为实体footer,然后每页只需输入&footer;,而无须在每页底部输入相同的页脚。此外,若决定更改页脚块,就仅需在DTD中作一次更改即可,无须对共享同一页脚的页面逐个进行更改。
通用实体实用以“&”符号开始,以“;”结尾,两个符号之间为实体名。例如:“<”就是小于符号(<)的通用实体引用,实体名为"lt",该实体的替换文本就是一个字符“<”。实体名由字母和数字的混合排列以及下划线构成,禁止使用空格和其他标点字符。类似XML中的其他的内容,实体引用是区分大小写的。
在DTD中使用标记<!ENTITY>标记定义内部通用实体引用,具体如下:
<! ENTITY name "replacementtext">
name是replacementtext的缩写。替换文本需放置于双引号中,因为其中可能包含空格和XML标记。可在文档中输入实体名。
例如:我的名字为“Eacely”。我可以为名字定义通用实体引用,这样每次输入&ERH;时,读者将会看见"Eacely",这个定义如下:
<! ENTITY ERH "Eacely">
ERH内部通用实体引用
1<?xml version="1.0" standalone="yes"?>
2<! DOCTYPE DOCUME[
3 <!ENTITY ERH "Eacely">
4 <!ELEMENT DOCUME(TITLE,SIGNTURE)>
5 <!ELEMENT TITLE (#PCDATA)>
6 <!ELEMENT COPYRIGHT (#PCDATA)>
7 <!ELEMENT EMAIL (#PCDATA)>
8 <!ELEMENT LAST_MODIFIED (#PCDATA)>
9 <!ELEMENT SIGNATURE(COPYRIGHT,EMAIL,LAST_MODIFIED)>
10]>
11<DOCUMENT>
12 <TITLE>&ERH;</TITLE>
13 <SIGNATURE>
14 <COPYRIGHT>1999&ERH;</COPYRIGHT>
15 <EMAIL>Eacely@263.com</EMAIL>
16 <LAST_MODIFIED>2007年1月1日</LAST_MODIFIED>
17 </SIGNSTURE>
18</DOXUMENT>
19
2<! DOCTYPE DOCUME[
3 <!ENTITY ERH "Eacely">
4 <!ELEMENT DOCUME(TITLE,SIGNTURE)>
5 <!ELEMENT TITLE (#PCDATA)>
6 <!ELEMENT COPYRIGHT (#PCDATA)>
7 <!ELEMENT EMAIL (#PCDATA)>
8 <!ELEMENT LAST_MODIFIED (#PCDATA)>
9 <!ELEMENT SIGNATURE(COPYRIGHT,EMAIL,LAST_MODIFIED)>
10]>
11<DOCUMENT>
12 <TITLE>&ERH;</TITLE>
13 <SIGNATURE>
14 <COPYRIGHT>1999&ERH;</COPYRIGHT>
15 <EMAIL>Eacely@263.com</EMAIL>
16 <LAST_MODIFIED>2007年1月1日</LAST_MODIFIED>
17 </SIGNSTURE>
18</DOXUMENT>
19