内部通用实体引用可看作经常使用的文本或强制格式的文本的缩写。DTD中的<!ENTITY>标记定义缩写,并且该缩写就代替了文本。例如:可在DTD中简单地把页脚定义为实体footer,然后每页只需输入&footer;,而无须在每页底部输入相同的页脚。此外,若决定更改页脚块,就仅需在DTD中作一次更改即可,无须对共享同一页脚的页面逐个进行更改。
通用实体实用以“&”符号开始,以“;”结尾,两个符号之间为实体名。例如:“<”就是小于符号(<)的通用实体引用,实体名为"lt",该实体的替换文本就是一个字符“<”。实体名由字母和数字的混合排列以及下划线构成,禁止使用空格和其他标点字符。类似XML中的其他的内容,实体引用是区分大小写的。
在DTD中使用标记<!ENTITY>标记定义内部通用实体引用,具体如下:
<! ENTITY name "replacementtext">
name是replacementtext的缩写。替换文本需放置于双引号中,因为其中可能包含空格和XML标记。可在文档中输入实体名。
例如:我的名字为“Eacely”。我可以为名字定义通用实体引用,这样每次输入&ERH;时,读者将会看见"Eacely",这个定义如下:
<! ENTITY ERH "Eacely">
ERH内部通用实体引用
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