1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteSystem systemIdStartString="http://example.org/a" rewritePrefix="a"/>
<nextCatalog catalog="c.example.org.xml"/>
</catalog>
<!ELEMENT a (#PCDATA)>
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ELEMENT abc (a, b, c)>
<!DOCTYPE abc SYSTEM "http://example.org/abc.dtd">
<abc>
<a>Let's use predefined entities & < ></a>
<b>Let's use a DTD defined entity &bent;</b>
<c/>
</abc>
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ELEMENT acb (a, c, b)>
<!DOCTYPE acb SYSTEM "http://example.org/acb.dtd">
<acb>
<a>Let's use predefined entities & < ></a>
<c/>
<b>Let's use a DTD defined entity &bent;</b>
</acb>
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteSystem systemIdStartString="http://example.org/b" rewritePrefix="b"/>
<nextCatalog catalog="c.example.org.xml"/>
</catalog>
<!ELEMENT b (#PCDATA)>
<!ENTITY bent "the b entity">
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ELEMENT bac (b, a, c)>
<!DOCTYPE bac SYSTEM "http://example.org/bac.dtd">
<bac>
<b>Let's use a DTD defined entity &bent;</b>
<a>Let's use predefined entities & < ></a>
<c/>
</bac>
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ELEMENT bca (b, c, a)>
<!DOCTYPE bca SYSTEM "http://example.org/bca.dtd">
<bca>
<b>Let's use a DTD defined entity &bent;</b>
<c/>
<a>Let's use predefined entities & < ></a>
</bca>
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteSystem systemIdStartString="http://example.org/c" rewritePrefix="c"/>
<rewriteSystem systemIdStartString="http://example.org/" rewritePrefix="./"/>
</catalog>
<!ELEMENT c EMPTY>
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ELEMENT cab (c, a, b)>
<!DOCTYPE cab SYSTEM "http://example.org/cab.dtd">
<cab>
<c/>
<a>Let's use predefined entities & < ></a>
<b>Let's use a DTD defined entity &bent;</b>
</cab>
<!ENTITY % c SYSTEM "http://example.org/c/c.dtd">
%c;
<!ENTITY % b SYSTEM "http://example.org/b/b.dtd">
%b;
<!ENTITY % a SYSTEM "http://example.org/a/a.dtd">
%a;
<!ELEMENT cba (c, b, a)>
<!DOCTYPE cba SYSTEM "http://example.org/cba.dtd">
<cba>
<c/>
<b>Let's use a DTD defined entity &bent;</b>
<a>Let's use predefined entities & < ></a>
</cba>
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<delegateSystem systemIdStartString="http://example.org/"
catalog="example.org.xml"/>
</catalog>
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<delegateSystem systemIdStartString="http://example.org/a"
catalog="a.example.org.xml"/>
<delegateSystem systemIdStartString="http://example.org/b"
catalog="b.example.org.xml"/>
<nextCatalog catalog="c.example.org.xml"/>
</catalog>
<!-- Well formed but invalid -->
<doc/>
|