学习

什么是实体

实体是用于定义引用普通文本或特殊字符的快捷方式的变量。
实体引用是对实体的引用。
实体可在内部或外部进行声明

通俗的来说他就是一个变量
比如
下面的a就是<h1>aaaa</h1>

1
a=<h1>aaaa</h1>

来说实体名称就是变量实体的值就是赋的值

实体声明

普通实体声明

普通实体通俗来说
内部实体
来说实体名称就是常量实体的值就是赋的值

1
<!ENTITY 实体名称 "实体的值">

外部实体

1
<!ENTITY 实体名称 SYSTEM  "实体的值">

参数实体声明

下面的通俗来说实体名称就是变量实体的值就是赋的值
他们%后面是有一个空格都

1
<!ENTITY % 实体名称 "实体的值">

外部实体

1
<!ENTITY %  实体名称 SYSTEM  "实体的值">

普通实体

自定义实体

自定义实体定义

1
<!ENTITY 实体名称 "实体的值">

就和上面那个实体声明里面就是那样的

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ELEMENT note (to*)>
<!ELEMENT to (#PCDATA)>
<!ENTITY email "ccccc">
]>
<note>
<to>aaaaa</to>
<to>bbbbb</to>
<to>&email;</to>
</note>

结果

预定义实体

下面这个就是已经定义好的

1
2
3
4
5
<	<
> >
& &
" "
&apos; '


咧:
代码

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<user>
<username>&lt;</username>
<username>&gt;</username>
<username>&amp;</username>
<username>&quot;</username>
<username>&apos;</username>
</user>

结果

猜数实体

他在DTD里面去用
他的声明

1
<!ENTITY % 实体名称 "实体的值">