ENTITY 实体
在一个甚至多个XML文档中频繁使用某一条数据,我们可以预先定义一个这条数据的“别名”,即一个ENTITY,然后在这些文档中需要该数据的地方调用它。
XML定义了两种类型的ENTITY,一种在XML文档中使用,另一种作为参数在DTD文件中使用。
ENTITY的定义语法:
<!DOCTYPE 文件名 [
<!ENTITY 实体名 "实体内容">
]>
定义好的ENTITY在文档中通过“&实体名;”来使用。
例:booklist_a.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<! DOCTYPE booklist [
<!ENTITY publisher "ABC company" >
]>
< booklist >
< book >
< name > Ajax </ name >
< price > $5.95 </ price >
< description > Foundations of Ajax. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Ajax Patterns </ name >
< price > $7.95 </ price >
< description > Introduction of Ajax Patterns. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Ajax Web App </ name >
< price > $8.95 </ price >
< description > Edition 2. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Core CSS </ name >
< price > $4.50 </ price >
< description > A book for CSS. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > JSF and Ajax </ name >
< price > $6.95 </ price >
< description > Apress. </ description >
< publisher > &publisher; </ publisher >
</ book >
</ booklist >
<! DOCTYPE booklist [
<!ENTITY publisher "ABC company" >
]>
< booklist >
< book >
< name > Ajax </ name >
< price > $5.95 </ price >
< description > Foundations of Ajax. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Ajax Patterns </ name >
< price > $7.95 </ price >
< description > Introduction of Ajax Patterns. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Ajax Web App </ name >
< price > $8.95 </ price >
< description > Edition 2. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > Core CSS </ name >
< price > $4.50 </ price >
< description > A book for CSS. </ description >
< publisher > &publisher; </ publisher >
</ book >
< book >
< name > JSF and Ajax </ name >
< price > $6.95 </ price >
< description > Apress. </ description >
< publisher > &publisher; </ publisher >
</ book >
</ booklist >
显示结果:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE booklist (View Source for full doctype...)>
<
name
>
Ajax
</
name
>
<
price
>
$5.95
</
price
>
<
description
>
Foundations of Ajax.
</
description
>
<
publisher
>
ABC company
</
publisher
>
</
book
>
<
name
>
Ajax Patterns
</
name
>
<
price
>
$7.95
</
price
>
<
description
>
Introduction of Ajax Patterns.
</
description
>
<
publisher
>
ABC company
</
publisher
>
</
book
>
<
name
>
Ajax Web App
</
name
>
<
price
>
$8.95
</
price
>
<
description
>
Edition 2.
</
description
>
<
publisher
>
ABC company
</
publisher
>
</
book
>
<
name
>
Core CSS
</
name
>
<
price
>
$4.50
</
price
>
<
description
>
A book for CSS.
</
description
>
<
publisher
>
ABC company
</
publisher
>
</
book
>
<
name
>
JSF and Ajax
</
name
>
<
price
>
$6.95
</
price
>
<
description
>
Apress.
</
description
>
<
publisher
>
ABC company
</
publisher
>
</
book
>
</
booklist
>