下面的例子通过外部实体引用,将文件order1.xml与文件order2.xml合并为一个文件directory.xml
清单1. 要合并的xml文档order1.xml:
1<order>
2<item>
3<itemnumber>ksu-0384</itemnumber>
4<description>LCD液晶显示器</description>
5<quantity>1</quantity>
6<price>358.00</price>
7</item>
8<item>
9<itemnumber>ksu-0511</itemnumber>
10<description>音箱</description>
11<quantity>1</quantity>
12<price>16.50</price>
13</item>
14<item>
15<itemnumber>ksu-7710</itemnumber>
16<description>鼠标</description>
17<quantity>1</quantity>
18<price>8.50</price>
19</item>
20</order>
清单2. 要合并的xml文档order2.xml:
1<order>
2<item>
3<itemnumber>ksu-0652</itemnumber>
4<description>双飞燕键盘</description>
5<quantity>1</quantity>
6<price>35.00</price>
7</item>
8<item>
9<itemnumber>ksu-7720</itemnumber>
10<description>intel CPU</description>
11<quantity>1</quantity>
12<price>1650.00</price>
13</item>
14<item>
15<itemnumber>ksu-7010</itemnumber>
16<description>迈拓硬盘</description>
17<quantity>1</quantity>
18<price>850.00</price>
19</item>
20</order>
清单3. 输出文档directory.xml,黑体字部分为实体声明及其引用:
** ]>
1<directory>
2** &disclaimer1
3&disclaimer2 **
4</directory>
当符合 XML 1.0 的处理器读取文档时,就会扩展实体,用它的内容代替引用,因此完整的文档如下所示。
清单4. 带有扩展实体的文档显示(IE6中):
-
1<directory>
2\- <order>
3\- <item>
4<itemnumber>ksu-0384</itemnumber>
5<description>LCD液晶显示器</description>
6<quantity>1</quantity>
7<price>358.00</price>
8</item>
9\- <item>
10<itemnumber>ksu-0511</itemnumber>
11<description>音箱</description>
12<quantity>1</quantity>
13<price>16.50</price>
14</item>
15\- <item>
16<itemnumber>ksu-7710</itemnumber>
17<description>鼠标</description>
18<quantity>1</quantity>
19<price>8.50</price>
20</item>
21</order>
22\- <order>
23\- <item>
24<itemnumber>ksu-0652</itemnumber>
25<description>双飞燕键盘</description>
26<quantity>1</quantity>
27<price>35.00</price>
28</item>
29\- <item>
30<itemnumber>ksu-7720</itemnumber>
31<description>intel CPU</description>
32<quantity>1</quantity>
33<price>1650.00</price>
34</item>
35\- <item>
36<itemnumber>ksu-7010</itemnumber>
37<description>迈拓硬盘</description>
38<quantity>1</quantity>
39<price>850.00</price>
40</item>
41</order>
42</directory>