ccls-html_test 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,80 @@
1
+ <!-- Special characters for XHTML -->
2
+
3
+ <!-- Character entity set. Typical invocation:
4
+ <!ENTITY % HTMLspecial PUBLIC
5
+ "-//W3C//ENTITIES Special for XHTML//EN"
6
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
7
+ %HTMLspecial;
8
+ -->
9
+
10
+ <!-- Portions (C) International Organization for Standardization 1986:
11
+ Permission to copy in any form is granted for use with
12
+ conforming SGML systems and applications as defined in
13
+ ISO 8879, provided this notice is included in all copies.
14
+ -->
15
+
16
+ <!-- Relevant ISO entity set is given unless names are newly introduced.
17
+ New names (i.e., not in ISO 8879 list) do not clash with any
18
+ existing ISO 8879 entity names. ISO 10646 character numbers
19
+ are given for each character, in hex. values are decimal
20
+ conversions of the ISO 10646 values and refer to the document
21
+ character set. Names are Unicode names.
22
+ -->
23
+
24
+ <!-- C0 Controls and Basic Latin -->
25
+ <!ENTITY quot "&#34;"> <!-- quotation mark, U+0022 ISOnum -->
26
+ <!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
27
+ <!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
28
+ <!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
29
+ <!ENTITY apos "&#39;"> <!-- apostrophe = APL quote, U+0027 ISOnum -->
30
+
31
+ <!-- Latin Extended-A -->
32
+ <!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
33
+ U+0152 ISOlat2 -->
34
+ <!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
35
+ <!-- ligature is a misnomer, this is a separate character in some languages -->
36
+ <!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
37
+ U+0160 ISOlat2 -->
38
+ <!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
39
+ U+0161 ISOlat2 -->
40
+ <!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
41
+ U+0178 ISOlat2 -->
42
+
43
+ <!-- Spacing Modifier Letters -->
44
+ <!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
45
+ U+02C6 ISOpub -->
46
+ <!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
47
+
48
+ <!-- General Punctuation -->
49
+ <!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
50
+ <!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
51
+ <!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
52
+ <!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
53
+ U+200C NEW RFC 2070 -->
54
+ <!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
55
+ <!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
56
+ <!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
57
+ <!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
58
+ <!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
59
+ <!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
60
+ U+2018 ISOnum -->
61
+ <!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
62
+ U+2019 ISOnum -->
63
+ <!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
64
+ <!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
65
+ U+201C ISOnum -->
66
+ <!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
67
+ U+201D ISOnum -->
68
+ <!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
69
+ <!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
70
+ <!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
71
+ <!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
72
+ <!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
73
+ U+2039 ISO proposed -->
74
+ <!-- lsaquo is proposed but not yet ISO standardized -->
75
+ <!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
76
+ U+203A ISO proposed -->
77
+ <!-- rsaquo is proposed but not yet ISO standardized -->
78
+
79
+ <!-- Currency Symbols -->
80
+ <!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
@@ -0,0 +1,237 @@
1
+ <!-- Mathematical, Greek and Symbolic characters for XHTML -->
2
+
3
+ <!-- Character entity set. Typical invocation:
4
+ <!ENTITY % HTMLsymbol PUBLIC
5
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
6
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
7
+ %HTMLsymbol;
8
+ -->
9
+
10
+ <!-- Portions (C) International Organization for Standardization 1986:
11
+ Permission to copy in any form is granted for use with
12
+ conforming SGML systems and applications as defined in
13
+ ISO 8879, provided this notice is included in all copies.
14
+ -->
15
+
16
+ <!-- Relevant ISO entity set is given unless names are newly introduced.
17
+ New names (i.e., not in ISO 8879 list) do not clash with any
18
+ existing ISO 8879 entity names. ISO 10646 character numbers
19
+ are given for each character, in hex. values are decimal
20
+ conversions of the ISO 10646 values and refer to the document
21
+ character set. Names are Unicode names.
22
+ -->
23
+
24
+ <!-- Latin Extended-B -->
25
+ <!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
26
+ = florin, U+0192 ISOtech -->
27
+
28
+ <!-- Greek -->
29
+ <!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
30
+ <!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
31
+ <!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
32
+ U+0393 ISOgrk3 -->
33
+ <!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
34
+ U+0394 ISOgrk3 -->
35
+ <!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
36
+ <!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
37
+ <!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
38
+ <!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
39
+ U+0398 ISOgrk3 -->
40
+ <!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
41
+ <!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
42
+ <!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
43
+ U+039B ISOgrk3 -->
44
+ <!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
45
+ <!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
46
+ <!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
47
+ <!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
48
+ <!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
49
+ <!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
50
+ <!-- there is no Sigmaf, and no U+03A2 character either -->
51
+ <!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
52
+ U+03A3 ISOgrk3 -->
53
+ <!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
54
+ <!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
55
+ U+03A5 ISOgrk3 -->
56
+ <!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
57
+ U+03A6 ISOgrk3 -->
58
+ <!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
59
+ <!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
60
+ U+03A8 ISOgrk3 -->
61
+ <!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
62
+ U+03A9 ISOgrk3 -->
63
+
64
+ <!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
65
+ U+03B1 ISOgrk3 -->
66
+ <!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
67
+ <!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
68
+ U+03B3 ISOgrk3 -->
69
+ <!ENTITY delta "&#948;"> <!-- greek small letter delta,
70
+ U+03B4 ISOgrk3 -->
71
+ <!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
72
+ U+03B5 ISOgrk3 -->
73
+ <!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
74
+ <!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
75
+ <!ENTITY theta "&#952;"> <!-- greek small letter theta,
76
+ U+03B8 ISOgrk3 -->
77
+ <!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
78
+ <!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
79
+ U+03BA ISOgrk3 -->
80
+ <!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
81
+ U+03BB ISOgrk3 -->
82
+ <!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
83
+ <!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
84
+ <!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
85
+ <!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
86
+ <!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
87
+ <!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
88
+ <!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
89
+ U+03C2 ISOgrk3 -->
90
+ <!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
91
+ U+03C3 ISOgrk3 -->
92
+ <!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
93
+ <!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
94
+ U+03C5 ISOgrk3 -->
95
+ <!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
96
+ <!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
97
+ <!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
98
+ <!ENTITY omega "&#969;"> <!-- greek small letter omega,
99
+ U+03C9 ISOgrk3 -->
100
+ <!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
101
+ U+03D1 NEW -->
102
+ <!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
103
+ U+03D2 NEW -->
104
+ <!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
105
+
106
+ <!-- General Punctuation -->
107
+ <!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
108
+ U+2022 ISOpub -->
109
+ <!-- bullet is NOT the same as bullet operator, U+2219 -->
110
+ <!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
111
+ U+2026 ISOpub -->
112
+ <!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
113
+ <!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
114
+ U+2033 ISOtech -->
115
+ <!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
116
+ U+203E NEW -->
117
+ <!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
118
+
119
+ <!-- Letterlike Symbols -->
120
+ <!ENTITY weierp "&#8472;"> <!-- script capital P = power set
121
+ = Weierstrass p, U+2118 ISOamso -->
122
+ <!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
123
+ U+2111 ISOamso -->
124
+ <!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
125
+ U+211C ISOamso -->
126
+ <!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
127
+ <!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
128
+ U+2135 NEW -->
129
+ <!-- alef symbol is NOT the same as hebrew letter alef,
130
+ U+05D0 although the same glyph could be used to depict both characters -->
131
+
132
+ <!-- Arrows -->
133
+ <!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
134
+ <!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
135
+ <!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
136
+ <!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
137
+ <!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
138
+ <!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
139
+ = carriage return, U+21B5 NEW -->
140
+ <!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
141
+ <!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
142
+ but also does not have any other character for that function. So lArr can
143
+ be used for 'is implied by' as ISOtech suggests -->
144
+ <!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
145
+ <!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
146
+ U+21D2 ISOtech -->
147
+ <!-- Unicode does not say this is the 'implies' character but does not have
148
+ another character with this function so rArr can be used for 'implies'
149
+ as ISOtech suggests -->
150
+ <!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
151
+ <!ENTITY hArr "&#8660;"> <!-- left right double arrow,
152
+ U+21D4 ISOamsa -->
153
+
154
+ <!-- Mathematical Operators -->
155
+ <!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
156
+ <!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
157
+ <!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
158
+ <!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
159
+ <!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
160
+ U+2207 ISOtech -->
161
+ <!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
162
+ <!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
163
+ <!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
164
+ <!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
165
+ U+220F ISOamsb -->
166
+ <!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
167
+ the same glyph might be used for both -->
168
+ <!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
169
+ <!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
170
+ though the same glyph might be used for both -->
171
+ <!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
172
+ <!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
173
+ <!ENTITY radic "&#8730;"> <!-- square root = radical sign,
174
+ U+221A ISOtech -->
175
+ <!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
176
+ <!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
177
+ <!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
178
+ <!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
179
+ <!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
180
+ <!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
181
+ <!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
182
+ <!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
183
+ <!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
184
+ <!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
185
+ U+223C ISOtech -->
186
+ <!-- tilde operator is NOT the same character as the tilde, U+007E,
187
+ although the same glyph might be used to represent both -->
188
+ <!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
189
+ <!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
190
+ U+2248 ISOamsr -->
191
+ <!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
192
+ <!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
193
+ <!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
194
+ <!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
195
+ U+2265 ISOtech -->
196
+ <!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
197
+ <!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
198
+ <!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
199
+ <!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
200
+ <!ENTITY supe "&#8839;"> <!-- superset of or equal to,
201
+ U+2287 ISOtech -->
202
+ <!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
203
+ U+2295 ISOamsb -->
204
+ <!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
205
+ U+2297 ISOamsb -->
206
+ <!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
207
+ U+22A5 ISOtech -->
208
+ <!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
209
+ <!-- dot operator is NOT the same character as U+00B7 middle dot -->
210
+
211
+ <!-- Miscellaneous Technical -->
212
+ <!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
213
+ U+2308 ISOamsc -->
214
+ <!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
215
+ <!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
216
+ U+230A ISOamsc -->
217
+ <!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
218
+ <!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
219
+ U+2329 ISOtech -->
220
+ <!-- lang is NOT the same character as U+003C 'less than sign'
221
+ or U+2039 'single left-pointing angle quotation mark' -->
222
+ <!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
223
+ U+232A ISOtech -->
224
+ <!-- rang is NOT the same character as U+003E 'greater than sign'
225
+ or U+203A 'single right-pointing angle quotation mark' -->
226
+
227
+ <!-- Geometric Shapes -->
228
+ <!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
229
+
230
+ <!-- Miscellaneous Symbols -->
231
+ <!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
232
+ <!-- black here seems to mean filled as opposed to hollow -->
233
+ <!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
234
+ U+2663 ISOpub -->
235
+ <!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
236
+ U+2665 ISOpub -->
237
+ <!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
data/lib/DTD/xhtml.soc ADDED
@@ -0,0 +1,14 @@
1
+ OVERRIDE YES
2
+ -- Oasis entity catalog for Extensible HTML 1.0 --
3
+
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd"
5
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"
6
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "xhtml1-frameset.dtd"
7
+
8
+ -- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) --
9
+
10
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"
11
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent"
12
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent"
13
+
14
+ SGMLDECL "xhtml1.dcl"
@@ -0,0 +1,1235 @@
1
+ <!--
2
+ Extensible HTML version 1.0 Frameset DTD
3
+
4
+ This is the same as HTML 4 Frameset except for
5
+ changes due to the differences between XML and SGML.
6
+
7
+ Namespace = http://www.w3.org/1999/xhtml
8
+
9
+ For further information, see: http://www.w3.org/TR/xhtml1
10
+
11
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
12
+ All Rights Reserved.
13
+
14
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
15
+
16
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
17
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
18
+
19
+ $Revision: 1.26 $
20
+ $Date: 2002/08/01 18:16:48 $
21
+
22
+ -->
23
+
24
+ <!--================ Character mnemonic entities =========================-->
25
+
26
+ <!ENTITY % HTMLlat1 PUBLIC
27
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
28
+ "xhtml-lat1.ent">
29
+ %HTMLlat1;
30
+
31
+ <!ENTITY % HTMLsymbol PUBLIC
32
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
33
+ "xhtml-symbol.ent">
34
+ %HTMLsymbol;
35
+
36
+ <!ENTITY % HTMLspecial PUBLIC
37
+ "-//W3C//ENTITIES Special for XHTML//EN"
38
+ "xhtml-special.ent">
39
+ %HTMLspecial;
40
+
41
+ <!--================== Imported Names ====================================-->
42
+
43
+ <!ENTITY % ContentType "CDATA">
44
+ <!-- media type, as per [RFC2045] -->
45
+
46
+ <!ENTITY % ContentTypes "CDATA">
47
+ <!-- comma-separated list of media types, as per [RFC2045] -->
48
+
49
+ <!ENTITY % Charset "CDATA">
50
+ <!-- a character encoding, as per [RFC2045] -->
51
+
52
+ <!ENTITY % Charsets "CDATA">
53
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
54
+
55
+ <!ENTITY % LanguageCode "NMTOKEN">
56
+ <!-- a language code, as per [RFC3066] -->
57
+
58
+ <!ENTITY % Character "CDATA">
59
+ <!-- a single character, as per section 2.2 of [XML] -->
60
+
61
+ <!ENTITY % Number "CDATA">
62
+ <!-- one or more digits -->
63
+
64
+ <!ENTITY % LinkTypes "CDATA">
65
+ <!-- space-separated list of link types -->
66
+
67
+ <!ENTITY % MediaDesc "CDATA">
68
+ <!-- single or comma-separated list of media descriptors -->
69
+
70
+ <!ENTITY % URI "CDATA">
71
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
72
+
73
+ <!ENTITY % UriList "CDATA">
74
+ <!-- a space separated list of Uniform Resource Identifiers -->
75
+
76
+ <!ENTITY % Datetime "CDATA">
77
+ <!-- date and time information. ISO date format -->
78
+
79
+ <!ENTITY % Script "CDATA">
80
+ <!-- script expression -->
81
+
82
+ <!ENTITY % StyleSheet "CDATA">
83
+ <!-- style sheet data -->
84
+
85
+ <!ENTITY % Text "CDATA">
86
+ <!-- used for titles etc. -->
87
+
88
+ <!ENTITY % FrameTarget "NMTOKEN">
89
+ <!-- render in this frame -->
90
+
91
+ <!ENTITY % Length "CDATA">
92
+ <!-- nn for pixels or nn% for percentage length -->
93
+
94
+ <!ENTITY % MultiLength "CDATA">
95
+ <!-- pixel, percentage, or relative -->
96
+
97
+ <!ENTITY % MultiLengths "CDATA">
98
+ <!-- comma-separated list of MultiLength -->
99
+
100
+ <!ENTITY % Pixels "CDATA">
101
+ <!-- integer representing length in pixels -->
102
+
103
+ <!-- these are used for image maps -->
104
+
105
+ <!ENTITY % Shape "(rect|circle|poly|default)">
106
+
107
+ <!ENTITY % Coords "CDATA">
108
+ <!-- comma separated list of lengths -->
109
+
110
+ <!-- used for object, applet, img, input and iframe -->
111
+ <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
112
+
113
+ <!-- a color using sRGB: #RRGGBB as Hex values -->
114
+ <!ENTITY % Color "CDATA">
115
+
116
+ <!-- There are also 16 widely known color names with their sRGB values:
117
+
118
+ Black = #000000 Green = #008000
119
+ Silver = #C0C0C0 Lime = #00FF00
120
+ Gray = #808080 Olive = #808000
121
+ White = #FFFFFF Yellow = #FFFF00
122
+ Maroon = #800000 Navy = #000080
123
+ Red = #FF0000 Blue = #0000FF
124
+ Purple = #800080 Teal = #008080
125
+ Fuchsia= #FF00FF Aqua = #00FFFF
126
+ -->
127
+
128
+ <!--=================== Generic Attributes ===============================-->
129
+
130
+ <!-- core attributes common to most elements
131
+ id document-wide unique id
132
+ class space separated list of classes
133
+ style associated style info
134
+ title advisory title/amplification
135
+ -->
136
+ <!ENTITY % coreattrs
137
+ "id ID #IMPLIED
138
+ class CDATA #IMPLIED
139
+ style %StyleSheet; #IMPLIED
140
+ title %Text; #IMPLIED"
141
+ >
142
+
143
+ <!-- internationalization attributes
144
+ lang language code (backwards compatible)
145
+ xml:lang language code (as per XML 1.0 spec)
146
+ dir direction for weak/neutral text
147
+ -->
148
+ <!ENTITY % i18n
149
+ "lang %LanguageCode; #IMPLIED
150
+ xml:lang %LanguageCode; #IMPLIED
151
+ dir (ltr|rtl) #IMPLIED"
152
+ >
153
+
154
+ <!-- attributes for common UI events
155
+ onclick a pointer button was clicked
156
+ ondblclick a pointer button was double clicked
157
+ onmousedown a pointer button was pressed down
158
+ onmouseup a pointer button was released
159
+ onmousemove a pointer was moved onto the element
160
+ onmouseout a pointer was moved away from the element
161
+ onkeypress a key was pressed and released
162
+ onkeydown a key was pressed down
163
+ onkeyup a key was released
164
+ -->
165
+ <!ENTITY % events
166
+ "onclick %Script; #IMPLIED
167
+ ondblclick %Script; #IMPLIED
168
+ onmousedown %Script; #IMPLIED
169
+ onmouseup %Script; #IMPLIED
170
+ onmouseover %Script; #IMPLIED
171
+ onmousemove %Script; #IMPLIED
172
+ onmouseout %Script; #IMPLIED
173
+ onkeypress %Script; #IMPLIED
174
+ onkeydown %Script; #IMPLIED
175
+ onkeyup %Script; #IMPLIED"
176
+ >
177
+
178
+ <!-- attributes for elements that can get the focus
179
+ accesskey accessibility key character
180
+ tabindex position in tabbing order
181
+ onfocus the element got the focus
182
+ onblur the element lost the focus
183
+ -->
184
+ <!ENTITY % focus
185
+ "accesskey %Character; #IMPLIED
186
+ tabindex %Number; #IMPLIED
187
+ onfocus %Script; #IMPLIED
188
+ onblur %Script; #IMPLIED"
189
+ >
190
+
191
+ <!ENTITY % attrs "%coreattrs; %i18n; %events;">
192
+
193
+ <!-- text alignment for p, div, h1-h6. The default is
194
+ align="left" for ltr headings, "right" for rtl -->
195
+
196
+ <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
197
+
198
+ <!--=================== Text Elements ====================================-->
199
+
200
+ <!ENTITY % special.extra
201
+ "object | applet | img | map | iframe">
202
+
203
+ <!ENTITY % special.basic
204
+ "br | span | bdo">
205
+
206
+ <!ENTITY % special
207
+ "%special.basic; | %special.extra;">
208
+
209
+ <!ENTITY % fontstyle.extra "big | small | font | basefont">
210
+
211
+ <!ENTITY % fontstyle.basic "tt | i | b | u
212
+ | s | strike ">
213
+
214
+ <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
215
+
216
+ <!ENTITY % phrase.extra "sub | sup">
217
+ <!ENTITY % phrase.basic "em | strong | dfn | code | q |
218
+ samp | kbd | var | cite | abbr | acronym">
219
+
220
+ <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
221
+
222
+ <!ENTITY % inline.forms "input | select | textarea | label | button">
223
+
224
+ <!-- these can occur at block or inline level -->
225
+ <!ENTITY % misc.inline "ins | del | script">
226
+
227
+ <!-- these can only occur at block level -->
228
+ <!ENTITY % misc "noscript | %misc.inline;">
229
+
230
+
231
+ <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
232
+
233
+ <!-- %Inline; covers inline or "text-level" elements -->
234
+ <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
235
+
236
+ <!--================== Block level elements ==============================-->
237
+
238
+ <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
239
+ <!ENTITY % lists "ul | ol | dl | menu | dir">
240
+ <!ENTITY % blocktext "pre | hr | blockquote | address | center">
241
+
242
+ <!ENTITY % block
243
+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
244
+
245
+ <!-- %Flow; mixes block and inline and is used for list items etc. -->
246
+ <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
247
+
248
+ <!--================== Content models for exclusions =====================-->
249
+
250
+ <!-- a elements use %Inline; excluding a -->
251
+
252
+ <!ENTITY % a.content
253
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
254
+
255
+ <!-- pre uses %Inline excluding img, object, applet, big, small,
256
+ sub, sup, font, or basefont -->
257
+
258
+ <!ENTITY % pre.content
259
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
260
+ %inline.forms; | %misc.inline;)*">
261
+
262
+
263
+ <!-- form uses %Flow; excluding form -->
264
+
265
+ <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
266
+
267
+ <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
268
+
269
+ <!ENTITY % button.content
270
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
271
+ table | br | span | bdo | object | applet | img | map |
272
+ %fontstyle; | %phrase; | %misc;)*">
273
+
274
+ <!--================ Document Structure ==================================-->
275
+
276
+ <!-- the namespace URI designates the document profile -->
277
+
278
+ <!ELEMENT html (head, frameset)>
279
+ <!ATTLIST html
280
+ %i18n;
281
+ id ID #IMPLIED
282
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
283
+ >
284
+
285
+ <!--================ Document Head =======================================-->
286
+
287
+ <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
288
+
289
+ <!-- content model is %head.misc; combined with a single
290
+ title and an optional base element in any order -->
291
+
292
+ <!ELEMENT head (%head.misc;,
293
+ ((title, %head.misc;, (base, %head.misc;)?) |
294
+ (base, %head.misc;, (title, %head.misc;))))>
295
+
296
+ <!ATTLIST head
297
+ %i18n;
298
+ id ID #IMPLIED
299
+ profile %URI; #IMPLIED
300
+ >
301
+
302
+ <!-- The title element is not considered part of the flow of text.
303
+ It should be displayed, for example as the page header or
304
+ window title. Exactly one title is required per document.
305
+ -->
306
+ <!ELEMENT title (#PCDATA)>
307
+ <!ATTLIST title
308
+ %i18n;
309
+ id ID #IMPLIED
310
+ >
311
+
312
+ <!-- document base URI -->
313
+
314
+ <!ELEMENT base EMPTY>
315
+ <!ATTLIST base
316
+ id ID #IMPLIED
317
+ href %URI; #IMPLIED
318
+ target %FrameTarget; #IMPLIED
319
+ >
320
+
321
+ <!-- generic metainformation -->
322
+ <!ELEMENT meta EMPTY>
323
+ <!ATTLIST meta
324
+ %i18n;
325
+ id ID #IMPLIED
326
+ http-equiv CDATA #IMPLIED
327
+ name CDATA #IMPLIED
328
+ content CDATA #REQUIRED
329
+ scheme CDATA #IMPLIED
330
+ >
331
+
332
+ <!--
333
+ Relationship values can be used in principle:
334
+
335
+ a) for document specific toolbars/menus when used
336
+ with the link element in document head e.g.
337
+ start, contents, previous, next, index, end, help
338
+ b) to link to a separate style sheet (rel="stylesheet")
339
+ c) to make a link to a script (rel="script")
340
+ d) by stylesheets to control how collections of
341
+ html nodes are rendered into printed documents
342
+ e) to make a link to a printable version of this document
343
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
344
+ -->
345
+
346
+ <!ELEMENT link EMPTY>
347
+ <!ATTLIST link
348
+ %attrs;
349
+ charset %Charset; #IMPLIED
350
+ href %URI; #IMPLIED
351
+ hreflang %LanguageCode; #IMPLIED
352
+ type %ContentType; #IMPLIED
353
+ rel %LinkTypes; #IMPLIED
354
+ rev %LinkTypes; #IMPLIED
355
+ media %MediaDesc; #IMPLIED
356
+ target %FrameTarget; #IMPLIED
357
+ >
358
+
359
+ <!-- style info, which may include CDATA sections -->
360
+ <!ELEMENT style (#PCDATA)>
361
+ <!ATTLIST style
362
+ %i18n;
363
+ id ID #IMPLIED
364
+ type %ContentType; #REQUIRED
365
+ media %MediaDesc; #IMPLIED
366
+ title %Text; #IMPLIED
367
+ xml:space (preserve) #FIXED 'preserve'
368
+ >
369
+
370
+ <!-- script statements, which may include CDATA sections -->
371
+ <!ELEMENT script (#PCDATA)>
372
+ <!ATTLIST script
373
+ id ID #IMPLIED
374
+ charset %Charset; #IMPLIED
375
+ type %ContentType; #REQUIRED
376
+ language CDATA #IMPLIED
377
+ src %URI; #IMPLIED
378
+ defer (defer) #IMPLIED
379
+ xml:space (preserve) #FIXED 'preserve'
380
+ >
381
+
382
+ <!-- alternate content container for non script-based rendering -->
383
+
384
+ <!ELEMENT noscript %Flow;>
385
+ <!ATTLIST noscript
386
+ %attrs;
387
+ >
388
+
389
+ <!--======================= Frames =======================================-->
390
+
391
+ <!-- only one noframes element permitted per document -->
392
+
393
+ <!ELEMENT frameset (frameset|frame|noframes)*>
394
+ <!ATTLIST frameset
395
+ %coreattrs;
396
+ rows %MultiLengths; #IMPLIED
397
+ cols %MultiLengths; #IMPLIED
398
+ onload %Script; #IMPLIED
399
+ onunload %Script; #IMPLIED
400
+ >
401
+
402
+ <!-- reserved frame names start with "_" otherwise starts with letter -->
403
+
404
+ <!-- tiled window within frameset -->
405
+
406
+ <!ELEMENT frame EMPTY>
407
+ <!ATTLIST frame
408
+ %coreattrs;
409
+ longdesc %URI; #IMPLIED
410
+ name NMTOKEN #IMPLIED
411
+ src %URI; #IMPLIED
412
+ frameborder (1|0) "1"
413
+ marginwidth %Pixels; #IMPLIED
414
+ marginheight %Pixels; #IMPLIED
415
+ noresize (noresize) #IMPLIED
416
+ scrolling (yes|no|auto) "auto"
417
+ >
418
+
419
+ <!-- inline subwindow -->
420
+
421
+ <!ELEMENT iframe %Flow;>
422
+ <!ATTLIST iframe
423
+ %coreattrs;
424
+ longdesc %URI; #IMPLIED
425
+ name NMTOKEN #IMPLIED
426
+ src %URI; #IMPLIED
427
+ frameborder (1|0) "1"
428
+ marginwidth %Pixels; #IMPLIED
429
+ marginheight %Pixels; #IMPLIED
430
+ scrolling (yes|no|auto) "auto"
431
+ align %ImgAlign; #IMPLIED
432
+ height %Length; #IMPLIED
433
+ width %Length; #IMPLIED
434
+ >
435
+
436
+ <!-- alternate content container for non frame-based rendering -->
437
+
438
+ <!ELEMENT noframes (body)>
439
+ <!ATTLIST noframes
440
+ %attrs;
441
+ >
442
+
443
+ <!--=================== Document Body ====================================-->
444
+
445
+ <!ELEMENT body %Flow;>
446
+ <!ATTLIST body
447
+ %attrs;
448
+ onload %Script; #IMPLIED
449
+ onunload %Script; #IMPLIED
450
+ background %URI; #IMPLIED
451
+ bgcolor %Color; #IMPLIED
452
+ text %Color; #IMPLIED
453
+ link %Color; #IMPLIED
454
+ vlink %Color; #IMPLIED
455
+ alink %Color; #IMPLIED
456
+ >
457
+
458
+ <!ELEMENT div %Flow;> <!-- generic language/style container -->
459
+ <!ATTLIST div
460
+ %attrs;
461
+ %TextAlign;
462
+ >
463
+
464
+ <!--=================== Paragraphs =======================================-->
465
+
466
+ <!ELEMENT p %Inline;>
467
+ <!ATTLIST p
468
+ %attrs;
469
+ %TextAlign;
470
+ >
471
+
472
+ <!--=================== Headings =========================================-->
473
+
474
+ <!--
475
+ There are six levels of headings from h1 (the most important)
476
+ to h6 (the least important).
477
+ -->
478
+
479
+ <!ELEMENT h1 %Inline;>
480
+ <!ATTLIST h1
481
+ %attrs;
482
+ %TextAlign;
483
+ >
484
+
485
+ <!ELEMENT h2 %Inline;>
486
+ <!ATTLIST h2
487
+ %attrs;
488
+ %TextAlign;
489
+ >
490
+
491
+ <!ELEMENT h3 %Inline;>
492
+ <!ATTLIST h3
493
+ %attrs;
494
+ %TextAlign;
495
+ >
496
+
497
+ <!ELEMENT h4 %Inline;>
498
+ <!ATTLIST h4
499
+ %attrs;
500
+ %TextAlign;
501
+ >
502
+
503
+ <!ELEMENT h5 %Inline;>
504
+ <!ATTLIST h5
505
+ %attrs;
506
+ %TextAlign;
507
+ >
508
+
509
+ <!ELEMENT h6 %Inline;>
510
+ <!ATTLIST h6
511
+ %attrs;
512
+ %TextAlign;
513
+ >
514
+
515
+ <!--=================== Lists ============================================-->
516
+
517
+ <!-- Unordered list bullet styles -->
518
+
519
+ <!ENTITY % ULStyle "(disc|square|circle)">
520
+
521
+ <!-- Unordered list -->
522
+
523
+ <!ELEMENT ul (li)+>
524
+ <!ATTLIST ul
525
+ %attrs;
526
+ type %ULStyle; #IMPLIED
527
+ compact (compact) #IMPLIED
528
+ >
529
+
530
+ <!-- Ordered list numbering style
531
+
532
+ 1 arabic numbers 1, 2, 3, ...
533
+ a lower alpha a, b, c, ...
534
+ A upper alpha A, B, C, ...
535
+ i lower roman i, ii, iii, ...
536
+ I upper roman I, II, III, ...
537
+
538
+ The style is applied to the sequence number which by default
539
+ is reset to 1 for the first list item in an ordered list.
540
+ -->
541
+ <!ENTITY % OLStyle "CDATA">
542
+
543
+ <!-- Ordered (numbered) list -->
544
+
545
+ <!ELEMENT ol (li)+>
546
+ <!ATTLIST ol
547
+ %attrs;
548
+ type %OLStyle; #IMPLIED
549
+ compact (compact) #IMPLIED
550
+ start %Number; #IMPLIED
551
+ >
552
+
553
+ <!-- single column list (DEPRECATED) -->
554
+ <!ELEMENT menu (li)+>
555
+ <!ATTLIST menu
556
+ %attrs;
557
+ compact (compact) #IMPLIED
558
+ >
559
+
560
+ <!-- multiple column list (DEPRECATED) -->
561
+ <!ELEMENT dir (li)+>
562
+ <!ATTLIST dir
563
+ %attrs;
564
+ compact (compact) #IMPLIED
565
+ >
566
+
567
+ <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
568
+ <!ENTITY % LIStyle "CDATA">
569
+
570
+ <!-- list item -->
571
+
572
+ <!ELEMENT li %Flow;>
573
+ <!ATTLIST li
574
+ %attrs;
575
+ type %LIStyle; #IMPLIED
576
+ value %Number; #IMPLIED
577
+ >
578
+
579
+ <!-- definition lists - dt for term, dd for its definition -->
580
+
581
+ <!ELEMENT dl (dt|dd)+>
582
+ <!ATTLIST dl
583
+ %attrs;
584
+ compact (compact) #IMPLIED
585
+ >
586
+
587
+ <!ELEMENT dt %Inline;>
588
+ <!ATTLIST dt
589
+ %attrs;
590
+ >
591
+
592
+ <!ELEMENT dd %Flow;>
593
+ <!ATTLIST dd
594
+ %attrs;
595
+ >
596
+
597
+ <!--=================== Address ==========================================-->
598
+
599
+ <!-- information on author -->
600
+
601
+ <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
602
+ <!ATTLIST address
603
+ %attrs;
604
+ >
605
+
606
+ <!--=================== Horizontal Rule ==================================-->
607
+
608
+ <!ELEMENT hr EMPTY>
609
+ <!ATTLIST hr
610
+ %attrs;
611
+ align (left|center|right) #IMPLIED
612
+ noshade (noshade) #IMPLIED
613
+ size %Pixels; #IMPLIED
614
+ width %Length; #IMPLIED
615
+ >
616
+
617
+ <!--=================== Preformatted Text ================================-->
618
+
619
+ <!-- content is %Inline; excluding
620
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
621
+
622
+ <!ELEMENT pre %pre.content;>
623
+ <!ATTLIST pre
624
+ %attrs;
625
+ width %Number; #IMPLIED
626
+ xml:space (preserve) #FIXED 'preserve'
627
+ >
628
+
629
+ <!--=================== Block-like Quotes ================================-->
630
+
631
+ <!ELEMENT blockquote %Flow;>
632
+ <!ATTLIST blockquote
633
+ %attrs;
634
+ cite %URI; #IMPLIED
635
+ >
636
+
637
+ <!--=================== Text alignment ===================================-->
638
+
639
+ <!-- center content -->
640
+ <!ELEMENT center %Flow;>
641
+ <!ATTLIST center
642
+ %attrs;
643
+ >
644
+
645
+ <!--=================== Inserted/Deleted Text ============================-->
646
+
647
+
648
+ <!--
649
+ ins/del are allowed in block and inline content, but its
650
+ inappropriate to include block content within an ins element
651
+ occurring in inline content.
652
+ -->
653
+ <!ELEMENT ins %Flow;>
654
+ <!ATTLIST ins
655
+ %attrs;
656
+ cite %URI; #IMPLIED
657
+ datetime %Datetime; #IMPLIED
658
+ >
659
+
660
+ <!ELEMENT del %Flow;>
661
+ <!ATTLIST del
662
+ %attrs;
663
+ cite %URI; #IMPLIED
664
+ datetime %Datetime; #IMPLIED
665
+ >
666
+
667
+ <!--================== The Anchor Element ================================-->
668
+
669
+ <!-- content is %Inline; except that anchors shouldn't be nested -->
670
+
671
+ <!ELEMENT a %a.content;>
672
+ <!ATTLIST a
673
+ %attrs;
674
+ %focus;
675
+ charset %Charset; #IMPLIED
676
+ type %ContentType; #IMPLIED
677
+ name NMTOKEN #IMPLIED
678
+ href %URI; #IMPLIED
679
+ hreflang %LanguageCode; #IMPLIED
680
+ rel %LinkTypes; #IMPLIED
681
+ rev %LinkTypes; #IMPLIED
682
+ shape %Shape; "rect"
683
+ coords %Coords; #IMPLIED
684
+ target %FrameTarget; #IMPLIED
685
+ >
686
+
687
+ <!--===================== Inline Elements ================================-->
688
+
689
+ <!ELEMENT span %Inline;> <!-- generic language/style container -->
690
+ <!ATTLIST span
691
+ %attrs;
692
+ >
693
+
694
+ <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
695
+ <!ATTLIST bdo
696
+ %coreattrs;
697
+ %events;
698
+ lang %LanguageCode; #IMPLIED
699
+ xml:lang %LanguageCode; #IMPLIED
700
+ dir (ltr|rtl) #REQUIRED
701
+ >
702
+
703
+ <!ELEMENT br EMPTY> <!-- forced line break -->
704
+ <!ATTLIST br
705
+ %coreattrs;
706
+ clear (left|all|right|none) "none"
707
+ >
708
+
709
+ <!ELEMENT em %Inline;> <!-- emphasis -->
710
+ <!ATTLIST em %attrs;>
711
+
712
+ <!ELEMENT strong %Inline;> <!-- strong emphasis -->
713
+ <!ATTLIST strong %attrs;>
714
+
715
+ <!ELEMENT dfn %Inline;> <!-- definitional -->
716
+ <!ATTLIST dfn %attrs;>
717
+
718
+ <!ELEMENT code %Inline;> <!-- program code -->
719
+ <!ATTLIST code %attrs;>
720
+
721
+ <!ELEMENT samp %Inline;> <!-- sample -->
722
+ <!ATTLIST samp %attrs;>
723
+
724
+ <!ELEMENT kbd %Inline;> <!-- something user would type -->
725
+ <!ATTLIST kbd %attrs;>
726
+
727
+ <!ELEMENT var %Inline;> <!-- variable -->
728
+ <!ATTLIST var %attrs;>
729
+
730
+ <!ELEMENT cite %Inline;> <!-- citation -->
731
+ <!ATTLIST cite %attrs;>
732
+
733
+ <!ELEMENT abbr %Inline;> <!-- abbreviation -->
734
+ <!ATTLIST abbr %attrs;>
735
+
736
+ <!ELEMENT acronym %Inline;> <!-- acronym -->
737
+ <!ATTLIST acronym %attrs;>
738
+
739
+ <!ELEMENT q %Inline;> <!-- inlined quote -->
740
+ <!ATTLIST q
741
+ %attrs;
742
+ cite %URI; #IMPLIED
743
+ >
744
+
745
+ <!ELEMENT sub %Inline;> <!-- subscript -->
746
+ <!ATTLIST sub %attrs;>
747
+
748
+ <!ELEMENT sup %Inline;> <!-- superscript -->
749
+ <!ATTLIST sup %attrs;>
750
+
751
+ <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
752
+ <!ATTLIST tt %attrs;>
753
+
754
+ <!ELEMENT i %Inline;> <!-- italic font -->
755
+ <!ATTLIST i %attrs;>
756
+
757
+ <!ELEMENT b %Inline;> <!-- bold font -->
758
+ <!ATTLIST b %attrs;>
759
+
760
+ <!ELEMENT big %Inline;> <!-- bigger font -->
761
+ <!ATTLIST big %attrs;>
762
+
763
+ <!ELEMENT small %Inline;> <!-- smaller font -->
764
+ <!ATTLIST small %attrs;>
765
+
766
+ <!ELEMENT u %Inline;> <!-- underline -->
767
+ <!ATTLIST u %attrs;>
768
+
769
+ <!ELEMENT s %Inline;> <!-- strike-through -->
770
+ <!ATTLIST s %attrs;>
771
+
772
+ <!ELEMENT strike %Inline;> <!-- strike-through -->
773
+ <!ATTLIST strike %attrs;>
774
+
775
+ <!ELEMENT basefont EMPTY> <!-- base font size -->
776
+ <!ATTLIST basefont
777
+ id ID #IMPLIED
778
+ size CDATA #REQUIRED
779
+ color %Color; #IMPLIED
780
+ face CDATA #IMPLIED
781
+ >
782
+
783
+ <!ELEMENT font %Inline;> <!-- local change to font -->
784
+ <!ATTLIST font
785
+ %coreattrs;
786
+ %i18n;
787
+ size CDATA #IMPLIED
788
+ color %Color; #IMPLIED
789
+ face CDATA #IMPLIED
790
+ >
791
+
792
+ <!--==================== Object ======================================-->
793
+ <!--
794
+ object is used to embed objects as part of HTML pages.
795
+ param elements should precede other content. Parameters
796
+ can also be expressed as attribute/value pairs on the
797
+ object element itself when brevity is desired.
798
+ -->
799
+
800
+ <!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
801
+ <!ATTLIST object
802
+ %attrs;
803
+ declare (declare) #IMPLIED
804
+ classid %URI; #IMPLIED
805
+ codebase %URI; #IMPLIED
806
+ data %URI; #IMPLIED
807
+ type %ContentType; #IMPLIED
808
+ codetype %ContentType; #IMPLIED
809
+ archive %UriList; #IMPLIED
810
+ standby %Text; #IMPLIED
811
+ height %Length; #IMPLIED
812
+ width %Length; #IMPLIED
813
+ usemap %URI; #IMPLIED
814
+ name NMTOKEN #IMPLIED
815
+ tabindex %Number; #IMPLIED
816
+ align %ImgAlign; #IMPLIED
817
+ border %Pixels; #IMPLIED
818
+ hspace %Pixels; #IMPLIED
819
+ vspace %Pixels; #IMPLIED
820
+ >
821
+
822
+ <!--
823
+ param is used to supply a named property value.
824
+ In XML it would seem natural to follow RDF and support an
825
+ abbreviated syntax where the param elements are replaced
826
+ by attribute value pairs on the object start tag.
827
+ -->
828
+ <!ELEMENT param EMPTY>
829
+ <!ATTLIST param
830
+ id ID #IMPLIED
831
+ name CDATA #REQUIRED
832
+ value CDATA #IMPLIED
833
+ valuetype (data|ref|object) "data"
834
+ type %ContentType; #IMPLIED
835
+ >
836
+
837
+ <!--=================== Java applet ==================================-->
838
+ <!--
839
+ One of code or object attributes must be present.
840
+ Place param elements before other content.
841
+ -->
842
+ <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
843
+ <!ATTLIST applet
844
+ %coreattrs;
845
+ codebase %URI; #IMPLIED
846
+ archive CDATA #IMPLIED
847
+ code CDATA #IMPLIED
848
+ object CDATA #IMPLIED
849
+ alt %Text; #IMPLIED
850
+ name NMTOKEN #IMPLIED
851
+ width %Length; #REQUIRED
852
+ height %Length; #REQUIRED
853
+ align %ImgAlign; #IMPLIED
854
+ hspace %Pixels; #IMPLIED
855
+ vspace %Pixels; #IMPLIED
856
+ >
857
+
858
+ <!--=================== Images ===========================================-->
859
+
860
+ <!--
861
+ To avoid accessibility problems for people who aren't
862
+ able to see the image, you should provide a text
863
+ description using the alt and longdesc attributes.
864
+ In addition, avoid the use of server-side image maps.
865
+ -->
866
+
867
+ <!ELEMENT img EMPTY>
868
+ <!ATTLIST img
869
+ %attrs;
870
+ src %URI; #REQUIRED
871
+ alt %Text; #REQUIRED
872
+ name NMTOKEN #IMPLIED
873
+ longdesc %URI; #IMPLIED
874
+ height %Length; #IMPLIED
875
+ width %Length; #IMPLIED
876
+ usemap %URI; #IMPLIED
877
+ ismap (ismap) #IMPLIED
878
+ align %ImgAlign; #IMPLIED
879
+ border %Pixels; #IMPLIED
880
+ hspace %Pixels; #IMPLIED
881
+ vspace %Pixels; #IMPLIED
882
+ >
883
+
884
+ <!-- usemap points to a map element which may be in this document
885
+ or an external document, although the latter is not widely supported -->
886
+
887
+ <!--================== Client-side image maps ============================-->
888
+
889
+ <!-- These can be placed in the same document or grouped in a
890
+ separate document although this isn't yet widely supported -->
891
+
892
+ <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
893
+ <!ATTLIST map
894
+ %i18n;
895
+ %events;
896
+ id ID #REQUIRED
897
+ class CDATA #IMPLIED
898
+ style %StyleSheet; #IMPLIED
899
+ title %Text; #IMPLIED
900
+ name NMTOKEN #IMPLIED
901
+ >
902
+
903
+ <!ELEMENT area EMPTY>
904
+ <!ATTLIST area
905
+ %attrs;
906
+ %focus;
907
+ shape %Shape; "rect"
908
+ coords %Coords; #IMPLIED
909
+ href %URI; #IMPLIED
910
+ nohref (nohref) #IMPLIED
911
+ alt %Text; #REQUIRED
912
+ target %FrameTarget; #IMPLIED
913
+ >
914
+
915
+ <!--================ Forms ===============================================-->
916
+
917
+ <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
918
+
919
+ <!ATTLIST form
920
+ %attrs;
921
+ action %URI; #REQUIRED
922
+ method (get|post) "get"
923
+ name NMTOKEN #IMPLIED
924
+ enctype %ContentType; "application/x-www-form-urlencoded"
925
+ onsubmit %Script; #IMPLIED
926
+ onreset %Script; #IMPLIED
927
+ accept %ContentTypes; #IMPLIED
928
+ accept-charset %Charsets; #IMPLIED
929
+ target %FrameTarget; #IMPLIED
930
+ >
931
+
932
+ <!--
933
+ Each label must not contain more than ONE field
934
+ Label elements shouldn't be nested.
935
+ -->
936
+ <!ELEMENT label %Inline;>
937
+ <!ATTLIST label
938
+ %attrs;
939
+ for IDREF #IMPLIED
940
+ accesskey %Character; #IMPLIED
941
+ onfocus %Script; #IMPLIED
942
+ onblur %Script; #IMPLIED
943
+ >
944
+
945
+ <!ENTITY % InputType
946
+ "(text | password | checkbox |
947
+ radio | submit | reset |
948
+ file | hidden | image | button)"
949
+ >
950
+
951
+ <!-- the name attribute is required for all but submit & reset -->
952
+
953
+ <!ELEMENT input EMPTY> <!-- form control -->
954
+ <!ATTLIST input
955
+ %attrs;
956
+ %focus;
957
+ type %InputType; "text"
958
+ name CDATA #IMPLIED
959
+ value CDATA #IMPLIED
960
+ checked (checked) #IMPLIED
961
+ disabled (disabled) #IMPLIED
962
+ readonly (readonly) #IMPLIED
963
+ size CDATA #IMPLIED
964
+ maxlength %Number; #IMPLIED
965
+ src %URI; #IMPLIED
966
+ alt CDATA #IMPLIED
967
+ usemap %URI; #IMPLIED
968
+ onselect %Script; #IMPLIED
969
+ onchange %Script; #IMPLIED
970
+ accept %ContentTypes; #IMPLIED
971
+ align %ImgAlign; #IMPLIED
972
+ >
973
+
974
+ <!ELEMENT select (optgroup|option)+> <!-- option selector -->
975
+ <!ATTLIST select
976
+ %attrs;
977
+ name CDATA #IMPLIED
978
+ size %Number; #IMPLIED
979
+ multiple (multiple) #IMPLIED
980
+ disabled (disabled) #IMPLIED
981
+ tabindex %Number; #IMPLIED
982
+ onfocus %Script; #IMPLIED
983
+ onblur %Script; #IMPLIED
984
+ onchange %Script; #IMPLIED
985
+ >
986
+
987
+ <!ELEMENT optgroup (option)+> <!-- option group -->
988
+ <!ATTLIST optgroup
989
+ %attrs;
990
+ disabled (disabled) #IMPLIED
991
+ label %Text; #REQUIRED
992
+ >
993
+
994
+ <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
995
+ <!ATTLIST option
996
+ %attrs;
997
+ selected (selected) #IMPLIED
998
+ disabled (disabled) #IMPLIED
999
+ label %Text; #IMPLIED
1000
+ value CDATA #IMPLIED
1001
+ >
1002
+
1003
+ <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
1004
+ <!ATTLIST textarea
1005
+ %attrs;
1006
+ %focus;
1007
+ name CDATA #IMPLIED
1008
+ rows %Number; #REQUIRED
1009
+ cols %Number; #REQUIRED
1010
+ disabled (disabled) #IMPLIED
1011
+ readonly (readonly) #IMPLIED
1012
+ onselect %Script; #IMPLIED
1013
+ onchange %Script; #IMPLIED
1014
+ >
1015
+
1016
+ <!--
1017
+ The fieldset element is used to group form fields.
1018
+ Only one legend element should occur in the content
1019
+ and if present should only be preceded by whitespace.
1020
+ -->
1021
+ <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
1022
+ <!ATTLIST fieldset
1023
+ %attrs;
1024
+ >
1025
+
1026
+ <!ENTITY % LAlign "(top|bottom|left|right)">
1027
+
1028
+ <!ELEMENT legend %Inline;> <!-- fieldset label -->
1029
+ <!ATTLIST legend
1030
+ %attrs;
1031
+ accesskey %Character; #IMPLIED
1032
+ align %LAlign; #IMPLIED
1033
+ >
1034
+
1035
+ <!--
1036
+ Content is %Flow; excluding a, form, form controls, iframe
1037
+ -->
1038
+ <!ELEMENT button %button.content;> <!-- push button -->
1039
+ <!ATTLIST button
1040
+ %attrs;
1041
+ %focus;
1042
+ name CDATA #IMPLIED
1043
+ value CDATA #IMPLIED
1044
+ type (button|submit|reset) "submit"
1045
+ disabled (disabled) #IMPLIED
1046
+ >
1047
+
1048
+ <!-- single-line text input control (DEPRECATED) -->
1049
+ <!ELEMENT isindex EMPTY>
1050
+ <!ATTLIST isindex
1051
+ %coreattrs;
1052
+ %i18n;
1053
+ prompt %Text; #IMPLIED
1054
+ >
1055
+
1056
+ <!--======================= Tables =======================================-->
1057
+
1058
+ <!-- Derived from IETF HTML table standard, see [RFC1942] -->
1059
+
1060
+ <!--
1061
+ The border attribute sets the thickness of the frame around the
1062
+ table. The default units are screen pixels.
1063
+
1064
+ The frame attribute specifies which parts of the frame around
1065
+ the table should be rendered. The values are not the same as
1066
+ CALS to avoid a name clash with the valign attribute.
1067
+ -->
1068
+ <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1069
+
1070
+ <!--
1071
+ The rules attribute defines which rules to draw between cells:
1072
+
1073
+ If rules is absent then assume:
1074
+ "none" if border is absent or border="0" otherwise "all"
1075
+ -->
1076
+
1077
+ <!ENTITY % TRules "(none | groups | rows | cols | all)">
1078
+
1079
+ <!-- horizontal placement of table relative to document -->
1080
+ <!ENTITY % TAlign "(left|center|right)">
1081
+
1082
+ <!-- horizontal alignment attributes for cell contents
1083
+
1084
+ char alignment char, e.g. char=":"
1085
+ charoff offset for alignment char
1086
+ -->
1087
+ <!ENTITY % cellhalign
1088
+ "align (left|center|right|justify|char) #IMPLIED
1089
+ char %Character; #IMPLIED
1090
+ charoff %Length; #IMPLIED"
1091
+ >
1092
+
1093
+ <!-- vertical alignment attributes for cell contents -->
1094
+ <!ENTITY % cellvalign
1095
+ "valign (top|middle|bottom|baseline) #IMPLIED"
1096
+ >
1097
+
1098
+ <!ELEMENT table
1099
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1100
+ <!ELEMENT caption %Inline;>
1101
+ <!ELEMENT thead (tr)+>
1102
+ <!ELEMENT tfoot (tr)+>
1103
+ <!ELEMENT tbody (tr)+>
1104
+ <!ELEMENT colgroup (col)*>
1105
+ <!ELEMENT col EMPTY>
1106
+ <!ELEMENT tr (th|td)+>
1107
+ <!ELEMENT th %Flow;>
1108
+ <!ELEMENT td %Flow;>
1109
+
1110
+ <!ATTLIST table
1111
+ %attrs;
1112
+ summary %Text; #IMPLIED
1113
+ width %Length; #IMPLIED
1114
+ border %Pixels; #IMPLIED
1115
+ frame %TFrame; #IMPLIED
1116
+ rules %TRules; #IMPLIED
1117
+ cellspacing %Length; #IMPLIED
1118
+ cellpadding %Length; #IMPLIED
1119
+ align %TAlign; #IMPLIED
1120
+ bgcolor %Color; #IMPLIED
1121
+ >
1122
+
1123
+ <!ENTITY % CAlign "(top|bottom|left|right)">
1124
+
1125
+ <!ATTLIST caption
1126
+ %attrs;
1127
+ align %CAlign; #IMPLIED
1128
+ >
1129
+
1130
+ <!--
1131
+ colgroup groups a set of col elements. It allows you to group
1132
+ several semantically related columns together.
1133
+ -->
1134
+ <!ATTLIST colgroup
1135
+ %attrs;
1136
+ span %Number; "1"
1137
+ width %MultiLength; #IMPLIED
1138
+ %cellhalign;
1139
+ %cellvalign;
1140
+ >
1141
+
1142
+ <!--
1143
+ col elements define the alignment properties for cells in
1144
+ one or more columns.
1145
+
1146
+ The width attribute specifies the width of the columns, e.g.
1147
+
1148
+ width=64 width in screen pixels
1149
+ width=0.5* relative width of 0.5
1150
+
1151
+ The span attribute causes the attributes of one
1152
+ col element to apply to more than one column.
1153
+ -->
1154
+ <!ATTLIST col
1155
+ %attrs;
1156
+ span %Number; "1"
1157
+ width %MultiLength; #IMPLIED
1158
+ %cellhalign;
1159
+ %cellvalign;
1160
+ >
1161
+
1162
+ <!--
1163
+ Use thead to duplicate headers when breaking table
1164
+ across page boundaries, or for static headers when
1165
+ tbody sections are rendered in scrolling panel.
1166
+
1167
+ Use tfoot to duplicate footers when breaking table
1168
+ across page boundaries, or for static footers when
1169
+ tbody sections are rendered in scrolling panel.
1170
+
1171
+ Use multiple tbody sections when rules are needed
1172
+ between groups of table rows.
1173
+ -->
1174
+ <!ATTLIST thead
1175
+ %attrs;
1176
+ %cellhalign;
1177
+ %cellvalign;
1178
+ >
1179
+
1180
+ <!ATTLIST tfoot
1181
+ %attrs;
1182
+ %cellhalign;
1183
+ %cellvalign;
1184
+ >
1185
+
1186
+ <!ATTLIST tbody
1187
+ %attrs;
1188
+ %cellhalign;
1189
+ %cellvalign;
1190
+ >
1191
+
1192
+ <!ATTLIST tr
1193
+ %attrs;
1194
+ %cellhalign;
1195
+ %cellvalign;
1196
+ bgcolor %Color; #IMPLIED
1197
+ >
1198
+
1199
+ <!-- Scope is simpler than headers attribute for common tables -->
1200
+ <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1201
+
1202
+ <!-- th is for headers, td for data and for cells acting as both -->
1203
+
1204
+ <!ATTLIST th
1205
+ %attrs;
1206
+ abbr %Text; #IMPLIED
1207
+ axis CDATA #IMPLIED
1208
+ headers IDREFS #IMPLIED
1209
+ scope %Scope; #IMPLIED
1210
+ rowspan %Number; "1"
1211
+ colspan %Number; "1"
1212
+ %cellhalign;
1213
+ %cellvalign;
1214
+ nowrap (nowrap) #IMPLIED
1215
+ bgcolor %Color; #IMPLIED
1216
+ width %Pixels; #IMPLIED
1217
+ height %Pixels; #IMPLIED
1218
+ >
1219
+
1220
+ <!ATTLIST td
1221
+ %attrs;
1222
+ abbr %Text; #IMPLIED
1223
+ axis CDATA #IMPLIED
1224
+ headers IDREFS #IMPLIED
1225
+ scope %Scope; #IMPLIED
1226
+ rowspan %Number; "1"
1227
+ colspan %Number; "1"
1228
+ %cellhalign;
1229
+ %cellvalign;
1230
+ nowrap (nowrap) #IMPLIED
1231
+ bgcolor %Color; #IMPLIED
1232
+ width %Pixels; #IMPLIED
1233
+ height %Pixels; #IMPLIED
1234
+ >
1235
+