Merge lp:~zorba-coders/zorba/fix-bug921624 into lp:zorba

Proposed by Sorin Marian Nasoi
Status: Merged
Approved by: Chris Hillery
Approved revision: 10634
Merged at revision: 10638
Proposed branch: lp:~zorba-coders/zorba/fix-bug921624
Merge into: lp:zorba
Diff against target: 4034 lines (+3964/-0)
11 files modified
ChangeLog (+1/-0)
schemas/CMakeLists.txt (+24/-0)
schemas/xhtml/xhtml-lat1.ent (+196/-0)
schemas/xhtml/xhtml-special.ent (+80/-0)
schemas/xhtml/xhtml-symbol.ent (+237/-0)
schemas/xhtml/xhtml1-frameset.dtd (+1235/-0)
schemas/xhtml/xhtml1-strict.dtd (+978/-0)
schemas/xhtml/xhtml1-transitional.dtd (+1201/-0)
test/rbkt/Queries/CMakeLists.txt (+5/-0)
test/rbkt/Queries/zorba/schemas/local-xhtml.spec (+1/-0)
test/rbkt/Queries/zorba/schemas/local-xhtml.xq (+6/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/fix-bug921624
Reviewer Review Type Date Requested Status
Chris Hillery Approve
Sorin Marian Nasoi Approve
Cezar Andrei Pending
Review via email: mp+91129@code.launchpad.net

Commit message

Install the XHTML DTD locally so we don't ask w3.org for it.

Description of the change

Install the XHTML DTD locally so we don't ask w3.org for it.

To post a comment you must log in.
Revision history for this message
Sorin Marian Nasoi (sorin.marian.nasoi) wrote :

I have resubmitted the merge proposal after I merged the lp:zorba trunk (there was a conflict in the Changelog).

The fix works.

review: Approve
Revision history for this message
Chris Hillery (ceejatec) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job fix-bug921624-2012-02-01T16-44-59.851Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2012-01-31 15:55:03 +0000
3+++ ChangeLog 2012-02-01 16:41:17 +0000
4@@ -30,6 +30,7 @@
5 * Added API method Item::getNamespaceBindings().
6 * Added API method StaticContext::getNamespaceBindings() (see bug #905035)
7 * Deprecated StaticContext:getNamespaceURIByPrefix()
8+ * Fixed bug 921624 (slow queries with bogus example.com schema URIs)
9 * Fixed bug #918211 (xqueryx fulltext w3c conformance generation)
10 * Fixed bug #918157 (Add XQFTTS to validation queue)
11 * Fixed bug with unversioned modules with C++ external functions
12
13=== modified file 'schemas/CMakeLists.txt'
14--- schemas/CMakeLists.txt 2011-07-03 07:27:35 +0000
15+++ schemas/CMakeLists.txt 2012-02-01 16:41:17 +0000
16@@ -19,3 +19,27 @@
17 DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2010/xslt-xquery-serialization"
18 FILE xslt-xquery-serialization.xsd)
19
20+# The following are DTDs, not schemas, but (currently at least) we
21+# only ever load them when an imported schema file references them
22+# (which, in turn, only happens in error cases - see bug 921624). So,
23+# we install them as schemas. Yes, this means they'll have an ".xsd"
24+# extension in the uri directory, but that's OK because Zorba will
25+# look for them with that extension.
26+DECLARE_ZORBA_SCHEMA(
27+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
28+ FILE "xhtml/xhtml1-transitional.dtd")
29+DECLARE_ZORBA_SCHEMA(
30+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
31+ FILE "xhtml/xhtml1-frameset.dtd")
32+DECLARE_ZORBA_SCHEMA(
33+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
34+ FILE "xhtml/xhtml1-strict.dtd")
35+DECLARE_ZORBA_SCHEMA(
36+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
37+ FILE "xhtml/xhtml-lat1.ent")
38+DECLARE_ZORBA_SCHEMA(
39+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
40+ FILE "xhtml/xhtml-special.ent")
41+DECLARE_ZORBA_SCHEMA(
42+ URI "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
43+ FILE "xhtml/xhtml-symbol.ent")
44
45=== added directory 'schemas/xhtml'
46=== added file 'schemas/xhtml/xhtml-lat1.ent'
47--- schemas/xhtml/xhtml-lat1.ent 1970-01-01 00:00:00 +0000
48+++ schemas/xhtml/xhtml-lat1.ent 2012-02-01 16:41:17 +0000
49@@ -0,0 +1,196 @@
50+<!-- Portions (C) International Organization for Standardization 1986
51+ Permission to copy in any form is granted for use with
52+ conforming SGML systems and applications as defined in
53+ ISO 8879, provided this notice is included in all copies.
54+-->
55+<!-- Character entity set. Typical invocation:
56+ <!ENTITY % HTMLlat1 PUBLIC
57+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
58+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
59+ %HTMLlat1;
60+-->
61+
62+<!ENTITY nbsp "&#160;"> <!-- no-break space = non-breaking space,
63+ U+00A0 ISOnum -->
64+<!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
65+<!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
66+<!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
67+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
68+<!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
69+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
70+ U+00A6 ISOnum -->
71+<!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
72+<!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
73+ U+00A8 ISOdia -->
74+<!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
75+<!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
76+<!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
77+ = left pointing guillemet, U+00AB ISOnum -->
78+<!ENTITY not "&#172;"> <!-- not sign = angled dash,
79+ U+00AC ISOnum -->
80+<!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
81+ U+00AD ISOnum -->
82+<!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
83+ U+00AE ISOnum -->
84+<!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
85+ = APL overbar, U+00AF ISOdia -->
86+<!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
87+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
88+ U+00B1 ISOnum -->
89+<!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
90+ = squared, U+00B2 ISOnum -->
91+<!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
92+ = cubed, U+00B3 ISOnum -->
93+<!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
94+ U+00B4 ISOdia -->
95+<!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
96+<!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
97+ U+00B6 ISOnum -->
98+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
99+ = Greek middle dot, U+00B7 ISOnum -->
100+<!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
101+<!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
102+ U+00B9 ISOnum -->
103+<!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
104+ U+00BA ISOnum -->
105+<!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
106+ = right pointing guillemet, U+00BB ISOnum -->
107+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
108+ = fraction one quarter, U+00BC ISOnum -->
109+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
110+ = fraction one half, U+00BD ISOnum -->
111+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
112+ = fraction three quarters, U+00BE ISOnum -->
113+<!ENTITY iquest "&#191;"> <!-- inverted question mark
114+ = turned question mark, U+00BF ISOnum -->
115+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
116+ = latin capital letter A grave,
117+ U+00C0 ISOlat1 -->
118+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
119+ U+00C1 ISOlat1 -->
120+<!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
121+ U+00C2 ISOlat1 -->
122+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
123+ U+00C3 ISOlat1 -->
124+<!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
125+ U+00C4 ISOlat1 -->
126+<!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
127+ = latin capital letter A ring,
128+ U+00C5 ISOlat1 -->
129+<!ENTITY AElig "&#198;"> <!-- latin capital letter AE
130+ = latin capital ligature AE,
131+ U+00C6 ISOlat1 -->
132+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
133+ U+00C7 ISOlat1 -->
134+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
135+ U+00C8 ISOlat1 -->
136+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
137+ U+00C9 ISOlat1 -->
138+<!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
139+ U+00CA ISOlat1 -->
140+<!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
141+ U+00CB ISOlat1 -->
142+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
143+ U+00CC ISOlat1 -->
144+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
145+ U+00CD ISOlat1 -->
146+<!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
147+ U+00CE ISOlat1 -->
148+<!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
149+ U+00CF ISOlat1 -->
150+<!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
151+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
152+ U+00D1 ISOlat1 -->
153+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
154+ U+00D2 ISOlat1 -->
155+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
156+ U+00D3 ISOlat1 -->
157+<!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
158+ U+00D4 ISOlat1 -->
159+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
160+ U+00D5 ISOlat1 -->
161+<!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
162+ U+00D6 ISOlat1 -->
163+<!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
164+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
165+ = latin capital letter O slash,
166+ U+00D8 ISOlat1 -->
167+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
168+ U+00D9 ISOlat1 -->
169+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
170+ U+00DA ISOlat1 -->
171+<!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
172+ U+00DB ISOlat1 -->
173+<!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
174+ U+00DC ISOlat1 -->
175+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
176+ U+00DD ISOlat1 -->
177+<!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
178+ U+00DE ISOlat1 -->
179+<!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
180+ U+00DF ISOlat1 -->
181+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
182+ = latin small letter a grave,
183+ U+00E0 ISOlat1 -->
184+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
185+ U+00E1 ISOlat1 -->
186+<!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
187+ U+00E2 ISOlat1 -->
188+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
189+ U+00E3 ISOlat1 -->
190+<!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
191+ U+00E4 ISOlat1 -->
192+<!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
193+ = latin small letter a ring,
194+ U+00E5 ISOlat1 -->
195+<!ENTITY aelig "&#230;"> <!-- latin small letter ae
196+ = latin small ligature ae, U+00E6 ISOlat1 -->
197+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
198+ U+00E7 ISOlat1 -->
199+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
200+ U+00E8 ISOlat1 -->
201+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
202+ U+00E9 ISOlat1 -->
203+<!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
204+ U+00EA ISOlat1 -->
205+<!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
206+ U+00EB ISOlat1 -->
207+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
208+ U+00EC ISOlat1 -->
209+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
210+ U+00ED ISOlat1 -->
211+<!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
212+ U+00EE ISOlat1 -->
213+<!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
214+ U+00EF ISOlat1 -->
215+<!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
216+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
217+ U+00F1 ISOlat1 -->
218+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
219+ U+00F2 ISOlat1 -->
220+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
221+ U+00F3 ISOlat1 -->
222+<!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
223+ U+00F4 ISOlat1 -->
224+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
225+ U+00F5 ISOlat1 -->
226+<!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
227+ U+00F6 ISOlat1 -->
228+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
229+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
230+ = latin small letter o slash,
231+ U+00F8 ISOlat1 -->
232+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
233+ U+00F9 ISOlat1 -->
234+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
235+ U+00FA ISOlat1 -->
236+<!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
237+ U+00FB ISOlat1 -->
238+<!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
239+ U+00FC ISOlat1 -->
240+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
241+ U+00FD ISOlat1 -->
242+<!ENTITY thorn "&#254;"> <!-- latin small letter thorn,
243+ U+00FE ISOlat1 -->
244+<!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
245+ U+00FF ISOlat1 -->
246
247=== added file 'schemas/xhtml/xhtml-special.ent'
248--- schemas/xhtml/xhtml-special.ent 1970-01-01 00:00:00 +0000
249+++ schemas/xhtml/xhtml-special.ent 2012-02-01 16:41:17 +0000
250@@ -0,0 +1,80 @@
251+<!-- Special characters for XHTML -->
252+
253+<!-- Character entity set. Typical invocation:
254+ <!ENTITY % HTMLspecial PUBLIC
255+ "-//W3C//ENTITIES Special for XHTML//EN"
256+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
257+ %HTMLspecial;
258+-->
259+
260+<!-- Portions (C) International Organization for Standardization 1986:
261+ Permission to copy in any form is granted for use with
262+ conforming SGML systems and applications as defined in
263+ ISO 8879, provided this notice is included in all copies.
264+-->
265+
266+<!-- Relevant ISO entity set is given unless names are newly introduced.
267+ New names (i.e., not in ISO 8879 list) do not clash with any
268+ existing ISO 8879 entity names. ISO 10646 character numbers
269+ are given for each character, in hex. values are decimal
270+ conversions of the ISO 10646 values and refer to the document
271+ character set. Names are Unicode names.
272+-->
273+
274+<!-- C0 Controls and Basic Latin -->
275+<!ENTITY quot "&#34;"> <!-- quotation mark, U+0022 ISOnum -->
276+<!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
277+<!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
278+<!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
279+<!ENTITY apos "&#39;"> <!-- apostrophe = APL quote, U+0027 ISOnum -->
280+
281+<!-- Latin Extended-A -->
282+<!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
283+ U+0152 ISOlat2 -->
284+<!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
285+<!-- ligature is a misnomer, this is a separate character in some languages -->
286+<!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
287+ U+0160 ISOlat2 -->
288+<!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
289+ U+0161 ISOlat2 -->
290+<!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
291+ U+0178 ISOlat2 -->
292+
293+<!-- Spacing Modifier Letters -->
294+<!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
295+ U+02C6 ISOpub -->
296+<!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
297+
298+<!-- General Punctuation -->
299+<!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
300+<!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
301+<!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
302+<!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
303+ U+200C NEW RFC 2070 -->
304+<!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
305+<!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
306+<!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
307+<!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
308+<!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
309+<!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
310+ U+2018 ISOnum -->
311+<!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
312+ U+2019 ISOnum -->
313+<!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
314+<!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
315+ U+201C ISOnum -->
316+<!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
317+ U+201D ISOnum -->
318+<!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
319+<!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
320+<!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
321+<!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
322+<!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
323+ U+2039 ISO proposed -->
324+<!-- lsaquo is proposed but not yet ISO standardized -->
325+<!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
326+ U+203A ISO proposed -->
327+<!-- rsaquo is proposed but not yet ISO standardized -->
328+
329+<!-- Currency Symbols -->
330+<!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
331
332=== added file 'schemas/xhtml/xhtml-symbol.ent'
333--- schemas/xhtml/xhtml-symbol.ent 1970-01-01 00:00:00 +0000
334+++ schemas/xhtml/xhtml-symbol.ent 2012-02-01 16:41:17 +0000
335@@ -0,0 +1,237 @@
336+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
337+
338+<!-- Character entity set. Typical invocation:
339+ <!ENTITY % HTMLsymbol PUBLIC
340+ "-//W3C//ENTITIES Symbols for XHTML//EN"
341+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
342+ %HTMLsymbol;
343+-->
344+
345+<!-- Portions (C) International Organization for Standardization 1986:
346+ Permission to copy in any form is granted for use with
347+ conforming SGML systems and applications as defined in
348+ ISO 8879, provided this notice is included in all copies.
349+-->
350+
351+<!-- Relevant ISO entity set is given unless names are newly introduced.
352+ New names (i.e., not in ISO 8879 list) do not clash with any
353+ existing ISO 8879 entity names. ISO 10646 character numbers
354+ are given for each character, in hex. values are decimal
355+ conversions of the ISO 10646 values and refer to the document
356+ character set. Names are Unicode names.
357+-->
358+
359+<!-- Latin Extended-B -->
360+<!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
361+ = florin, U+0192 ISOtech -->
362+
363+<!-- Greek -->
364+<!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
365+<!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
366+<!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
367+ U+0393 ISOgrk3 -->
368+<!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
369+ U+0394 ISOgrk3 -->
370+<!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
371+<!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
372+<!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
373+<!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
374+ U+0398 ISOgrk3 -->
375+<!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
376+<!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
377+<!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
378+ U+039B ISOgrk3 -->
379+<!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
380+<!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
381+<!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
382+<!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
383+<!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
384+<!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
385+<!-- there is no Sigmaf, and no U+03A2 character either -->
386+<!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
387+ U+03A3 ISOgrk3 -->
388+<!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
389+<!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
390+ U+03A5 ISOgrk3 -->
391+<!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
392+ U+03A6 ISOgrk3 -->
393+<!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
394+<!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
395+ U+03A8 ISOgrk3 -->
396+<!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
397+ U+03A9 ISOgrk3 -->
398+
399+<!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
400+ U+03B1 ISOgrk3 -->
401+<!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
402+<!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
403+ U+03B3 ISOgrk3 -->
404+<!ENTITY delta "&#948;"> <!-- greek small letter delta,
405+ U+03B4 ISOgrk3 -->
406+<!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
407+ U+03B5 ISOgrk3 -->
408+<!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
409+<!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
410+<!ENTITY theta "&#952;"> <!-- greek small letter theta,
411+ U+03B8 ISOgrk3 -->
412+<!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
413+<!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
414+ U+03BA ISOgrk3 -->
415+<!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
416+ U+03BB ISOgrk3 -->
417+<!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
418+<!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
419+<!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
420+<!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
421+<!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
422+<!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
423+<!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
424+ U+03C2 ISOgrk3 -->
425+<!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
426+ U+03C3 ISOgrk3 -->
427+<!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
428+<!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
429+ U+03C5 ISOgrk3 -->
430+<!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
431+<!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
432+<!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
433+<!ENTITY omega "&#969;"> <!-- greek small letter omega,
434+ U+03C9 ISOgrk3 -->
435+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
436+ U+03D1 NEW -->
437+<!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
438+ U+03D2 NEW -->
439+<!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
440+
441+<!-- General Punctuation -->
442+<!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
443+ U+2022 ISOpub -->
444+<!-- bullet is NOT the same as bullet operator, U+2219 -->
445+<!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
446+ U+2026 ISOpub -->
447+<!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
448+<!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
449+ U+2033 ISOtech -->
450+<!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
451+ U+203E NEW -->
452+<!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
453+
454+<!-- Letterlike Symbols -->
455+<!ENTITY weierp "&#8472;"> <!-- script capital P = power set
456+ = Weierstrass p, U+2118 ISOamso -->
457+<!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
458+ U+2111 ISOamso -->
459+<!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
460+ U+211C ISOamso -->
461+<!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
462+<!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
463+ U+2135 NEW -->
464+<!-- alef symbol is NOT the same as hebrew letter alef,
465+ U+05D0 although the same glyph could be used to depict both characters -->
466+
467+<!-- Arrows -->
468+<!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
469+<!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
470+<!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
471+<!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
472+<!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
473+<!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
474+ = carriage return, U+21B5 NEW -->
475+<!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
476+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
477+ but also does not have any other character for that function. So lArr can
478+ be used for 'is implied by' as ISOtech suggests -->
479+<!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
480+<!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
481+ U+21D2 ISOtech -->
482+<!-- Unicode does not say this is the 'implies' character but does not have
483+ another character with this function so rArr can be used for 'implies'
484+ as ISOtech suggests -->
485+<!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
486+<!ENTITY hArr "&#8660;"> <!-- left right double arrow,
487+ U+21D4 ISOamsa -->
488+
489+<!-- Mathematical Operators -->
490+<!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
491+<!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
492+<!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
493+<!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
494+<!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
495+ U+2207 ISOtech -->
496+<!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
497+<!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
498+<!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
499+<!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
500+ U+220F ISOamsb -->
501+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
502+ the same glyph might be used for both -->
503+<!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
504+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
505+ though the same glyph might be used for both -->
506+<!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
507+<!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
508+<!ENTITY radic "&#8730;"> <!-- square root = radical sign,
509+ U+221A ISOtech -->
510+<!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
511+<!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
512+<!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
513+<!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
514+<!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
515+<!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
516+<!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
517+<!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
518+<!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
519+<!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
520+ U+223C ISOtech -->
521+<!-- tilde operator is NOT the same character as the tilde, U+007E,
522+ although the same glyph might be used to represent both -->
523+<!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
524+<!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
525+ U+2248 ISOamsr -->
526+<!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
527+<!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
528+<!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
529+<!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
530+ U+2265 ISOtech -->
531+<!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
532+<!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
533+<!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
534+<!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
535+<!ENTITY supe "&#8839;"> <!-- superset of or equal to,
536+ U+2287 ISOtech -->
537+<!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
538+ U+2295 ISOamsb -->
539+<!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
540+ U+2297 ISOamsb -->
541+<!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
542+ U+22A5 ISOtech -->
543+<!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
544+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
545+
546+<!-- Miscellaneous Technical -->
547+<!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
548+ U+2308 ISOamsc -->
549+<!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
550+<!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
551+ U+230A ISOamsc -->
552+<!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
553+<!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
554+ U+2329 ISOtech -->
555+<!-- lang is NOT the same character as U+003C 'less than sign'
556+ or U+2039 'single left-pointing angle quotation mark' -->
557+<!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
558+ U+232A ISOtech -->
559+<!-- rang is NOT the same character as U+003E 'greater than sign'
560+ or U+203A 'single right-pointing angle quotation mark' -->
561+
562+<!-- Geometric Shapes -->
563+<!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
564+
565+<!-- Miscellaneous Symbols -->
566+<!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
567+<!-- black here seems to mean filled as opposed to hollow -->
568+<!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
569+ U+2663 ISOpub -->
570+<!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
571+ U+2665 ISOpub -->
572+<!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
573
574=== added file 'schemas/xhtml/xhtml1-frameset.dtd'
575--- schemas/xhtml/xhtml1-frameset.dtd 1970-01-01 00:00:00 +0000
576+++ schemas/xhtml/xhtml1-frameset.dtd 2012-02-01 16:41:17 +0000
577@@ -0,0 +1,1235 @@
578+<!--
579+ Extensible HTML version 1.0 Frameset DTD
580+
581+ This is the same as HTML 4 Frameset except for
582+ changes due to the differences between XML and SGML.
583+
584+ Namespace = http://www.w3.org/1999/xhtml
585+
586+ For further information, see: http://www.w3.org/TR/xhtml1
587+
588+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
589+ All Rights Reserved.
590+
591+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
592+
593+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
594+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
595+
596+ $Revision: 1.26 $
597+ $Date: 2002/08/01 18:16:48 $
598+
599+-->
600+
601+<!--================ Character mnemonic entities =========================-->
602+
603+<!ENTITY % HTMLlat1 PUBLIC
604+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
605+ "xhtml-lat1.ent">
606+%HTMLlat1;
607+
608+<!ENTITY % HTMLsymbol PUBLIC
609+ "-//W3C//ENTITIES Symbols for XHTML//EN"
610+ "xhtml-symbol.ent">
611+%HTMLsymbol;
612+
613+<!ENTITY % HTMLspecial PUBLIC
614+ "-//W3C//ENTITIES Special for XHTML//EN"
615+ "xhtml-special.ent">
616+%HTMLspecial;
617+
618+<!--================== Imported Names ====================================-->
619+
620+<!ENTITY % ContentType "CDATA">
621+ <!-- media type, as per [RFC2045] -->
622+
623+<!ENTITY % ContentTypes "CDATA">
624+ <!-- comma-separated list of media types, as per [RFC2045] -->
625+
626+<!ENTITY % Charset "CDATA">
627+ <!-- a character encoding, as per [RFC2045] -->
628+
629+<!ENTITY % Charsets "CDATA">
630+ <!-- a space separated list of character encodings, as per [RFC2045] -->
631+
632+<!ENTITY % LanguageCode "NMTOKEN">
633+ <!-- a language code, as per [RFC3066] -->
634+
635+<!ENTITY % Character "CDATA">
636+ <!-- a single character, as per section 2.2 of [XML] -->
637+
638+<!ENTITY % Number "CDATA">
639+ <!-- one or more digits -->
640+
641+<!ENTITY % LinkTypes "CDATA">
642+ <!-- space-separated list of link types -->
643+
644+<!ENTITY % MediaDesc "CDATA">
645+ <!-- single or comma-separated list of media descriptors -->
646+
647+<!ENTITY % URI "CDATA">
648+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
649+
650+<!ENTITY % UriList "CDATA">
651+ <!-- a space separated list of Uniform Resource Identifiers -->
652+
653+<!ENTITY % Datetime "CDATA">
654+ <!-- date and time information. ISO date format -->
655+
656+<!ENTITY % Script "CDATA">
657+ <!-- script expression -->
658+
659+<!ENTITY % StyleSheet "CDATA">
660+ <!-- style sheet data -->
661+
662+<!ENTITY % Text "CDATA">
663+ <!-- used for titles etc. -->
664+
665+<!ENTITY % FrameTarget "NMTOKEN">
666+ <!-- render in this frame -->
667+
668+<!ENTITY % Length "CDATA">
669+ <!-- nn for pixels or nn% for percentage length -->
670+
671+<!ENTITY % MultiLength "CDATA">
672+ <!-- pixel, percentage, or relative -->
673+
674+<!ENTITY % MultiLengths "CDATA">
675+ <!-- comma-separated list of MultiLength -->
676+
677+<!ENTITY % Pixels "CDATA">
678+ <!-- integer representing length in pixels -->
679+
680+<!-- these are used for image maps -->
681+
682+<!ENTITY % Shape "(rect|circle|poly|default)">
683+
684+<!ENTITY % Coords "CDATA">
685+ <!-- comma separated list of lengths -->
686+
687+<!-- used for object, applet, img, input and iframe -->
688+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
689+
690+<!-- a color using sRGB: #RRGGBB as Hex values -->
691+<!ENTITY % Color "CDATA">
692+
693+<!-- There are also 16 widely known color names with their sRGB values:
694+
695+ Black = #000000 Green = #008000
696+ Silver = #C0C0C0 Lime = #00FF00
697+ Gray = #808080 Olive = #808000
698+ White = #FFFFFF Yellow = #FFFF00
699+ Maroon = #800000 Navy = #000080
700+ Red = #FF0000 Blue = #0000FF
701+ Purple = #800080 Teal = #008080
702+ Fuchsia= #FF00FF Aqua = #00FFFF
703+-->
704+
705+<!--=================== Generic Attributes ===============================-->
706+
707+<!-- core attributes common to most elements
708+ id document-wide unique id
709+ class space separated list of classes
710+ style associated style info
711+ title advisory title/amplification
712+-->
713+<!ENTITY % coreattrs
714+ "id ID #IMPLIED
715+ class CDATA #IMPLIED
716+ style %StyleSheet; #IMPLIED
717+ title %Text; #IMPLIED"
718+ >
719+
720+<!-- internationalization attributes
721+ lang language code (backwards compatible)
722+ xml:lang language code (as per XML 1.0 spec)
723+ dir direction for weak/neutral text
724+-->
725+<!ENTITY % i18n
726+ "lang %LanguageCode; #IMPLIED
727+ xml:lang %LanguageCode; #IMPLIED
728+ dir (ltr|rtl) #IMPLIED"
729+ >
730+
731+<!-- attributes for common UI events
732+ onclick a pointer button was clicked
733+ ondblclick a pointer button was double clicked
734+ onmousedown a pointer button was pressed down
735+ onmouseup a pointer button was released
736+ onmousemove a pointer was moved onto the element
737+ onmouseout a pointer was moved away from the element
738+ onkeypress a key was pressed and released
739+ onkeydown a key was pressed down
740+ onkeyup a key was released
741+-->
742+<!ENTITY % events
743+ "onclick %Script; #IMPLIED
744+ ondblclick %Script; #IMPLIED
745+ onmousedown %Script; #IMPLIED
746+ onmouseup %Script; #IMPLIED
747+ onmouseover %Script; #IMPLIED
748+ onmousemove %Script; #IMPLIED
749+ onmouseout %Script; #IMPLIED
750+ onkeypress %Script; #IMPLIED
751+ onkeydown %Script; #IMPLIED
752+ onkeyup %Script; #IMPLIED"
753+ >
754+
755+<!-- attributes for elements that can get the focus
756+ accesskey accessibility key character
757+ tabindex position in tabbing order
758+ onfocus the element got the focus
759+ onblur the element lost the focus
760+-->
761+<!ENTITY % focus
762+ "accesskey %Character; #IMPLIED
763+ tabindex %Number; #IMPLIED
764+ onfocus %Script; #IMPLIED
765+ onblur %Script; #IMPLIED"
766+ >
767+
768+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
769+
770+<!-- text alignment for p, div, h1-h6. The default is
771+ align="left" for ltr headings, "right" for rtl -->
772+
773+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
774+
775+<!--=================== Text Elements ====================================-->
776+
777+<!ENTITY % special.extra
778+ "object | applet | img | map | iframe">
779+
780+<!ENTITY % special.basic
781+ "br | span | bdo">
782+
783+<!ENTITY % special
784+ "%special.basic; | %special.extra;">
785+
786+<!ENTITY % fontstyle.extra "big | small | font | basefont">
787+
788+<!ENTITY % fontstyle.basic "tt | i | b | u
789+ | s | strike ">
790+
791+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
792+
793+<!ENTITY % phrase.extra "sub | sup">
794+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
795+ samp | kbd | var | cite | abbr | acronym">
796+
797+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
798+
799+<!ENTITY % inline.forms "input | select | textarea | label | button">
800+
801+<!-- these can occur at block or inline level -->
802+<!ENTITY % misc.inline "ins | del | script">
803+
804+<!-- these can only occur at block level -->
805+<!ENTITY % misc "noscript | %misc.inline;">
806+
807+
808+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
809+
810+<!-- %Inline; covers inline or "text-level" elements -->
811+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
812+
813+<!--================== Block level elements ==============================-->
814+
815+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
816+<!ENTITY % lists "ul | ol | dl | menu | dir">
817+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
818+
819+<!ENTITY % block
820+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
821+
822+<!-- %Flow; mixes block and inline and is used for list items etc. -->
823+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
824+
825+<!--================== Content models for exclusions =====================-->
826+
827+<!-- a elements use %Inline; excluding a -->
828+
829+<!ENTITY % a.content
830+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
831+
832+<!-- pre uses %Inline excluding img, object, applet, big, small,
833+ sub, sup, font, or basefont -->
834+
835+<!ENTITY % pre.content
836+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
837+ %inline.forms; | %misc.inline;)*">
838+
839+
840+<!-- form uses %Flow; excluding form -->
841+
842+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
843+
844+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
845+
846+<!ENTITY % button.content
847+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
848+ table | br | span | bdo | object | applet | img | map |
849+ %fontstyle; | %phrase; | %misc;)*">
850+
851+<!--================ Document Structure ==================================-->
852+
853+<!-- the namespace URI designates the document profile -->
854+
855+<!ELEMENT html (head, frameset)>
856+<!ATTLIST html
857+ %i18n;
858+ id ID #IMPLIED
859+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
860+ >
861+
862+<!--================ Document Head =======================================-->
863+
864+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
865+
866+<!-- content model is %head.misc; combined with a single
867+ title and an optional base element in any order -->
868+
869+<!ELEMENT head (%head.misc;,
870+ ((title, %head.misc;, (base, %head.misc;)?) |
871+ (base, %head.misc;, (title, %head.misc;))))>
872+
873+<!ATTLIST head
874+ %i18n;
875+ id ID #IMPLIED
876+ profile %URI; #IMPLIED
877+ >
878+
879+<!-- The title element is not considered part of the flow of text.
880+ It should be displayed, for example as the page header or
881+ window title. Exactly one title is required per document.
882+ -->
883+<!ELEMENT title (#PCDATA)>
884+<!ATTLIST title
885+ %i18n;
886+ id ID #IMPLIED
887+ >
888+
889+<!-- document base URI -->
890+
891+<!ELEMENT base EMPTY>
892+<!ATTLIST base
893+ id ID #IMPLIED
894+ href %URI; #IMPLIED
895+ target %FrameTarget; #IMPLIED
896+ >
897+
898+<!-- generic metainformation -->
899+<!ELEMENT meta EMPTY>
900+<!ATTLIST meta
901+ %i18n;
902+ id ID #IMPLIED
903+ http-equiv CDATA #IMPLIED
904+ name CDATA #IMPLIED
905+ content CDATA #REQUIRED
906+ scheme CDATA #IMPLIED
907+ >
908+
909+<!--
910+ Relationship values can be used in principle:
911+
912+ a) for document specific toolbars/menus when used
913+ with the link element in document head e.g.
914+ start, contents, previous, next, index, end, help
915+ b) to link to a separate style sheet (rel="stylesheet")
916+ c) to make a link to a script (rel="script")
917+ d) by stylesheets to control how collections of
918+ html nodes are rendered into printed documents
919+ e) to make a link to a printable version of this document
920+ e.g. a PostScript or PDF version (rel="alternate" media="print")
921+-->
922+
923+<!ELEMENT link EMPTY>
924+<!ATTLIST link
925+ %attrs;
926+ charset %Charset; #IMPLIED
927+ href %URI; #IMPLIED
928+ hreflang %LanguageCode; #IMPLIED
929+ type %ContentType; #IMPLIED
930+ rel %LinkTypes; #IMPLIED
931+ rev %LinkTypes; #IMPLIED
932+ media %MediaDesc; #IMPLIED
933+ target %FrameTarget; #IMPLIED
934+ >
935+
936+<!-- style info, which may include CDATA sections -->
937+<!ELEMENT style (#PCDATA)>
938+<!ATTLIST style
939+ %i18n;
940+ id ID #IMPLIED
941+ type %ContentType; #REQUIRED
942+ media %MediaDesc; #IMPLIED
943+ title %Text; #IMPLIED
944+ xml:space (preserve) #FIXED 'preserve'
945+ >
946+
947+<!-- script statements, which may include CDATA sections -->
948+<!ELEMENT script (#PCDATA)>
949+<!ATTLIST script
950+ id ID #IMPLIED
951+ charset %Charset; #IMPLIED
952+ type %ContentType; #REQUIRED
953+ language CDATA #IMPLIED
954+ src %URI; #IMPLIED
955+ defer (defer) #IMPLIED
956+ xml:space (preserve) #FIXED 'preserve'
957+ >
958+
959+<!-- alternate content container for non script-based rendering -->
960+
961+<!ELEMENT noscript %Flow;>
962+<!ATTLIST noscript
963+ %attrs;
964+ >
965+
966+<!--======================= Frames =======================================-->
967+
968+<!-- only one noframes element permitted per document -->
969+
970+<!ELEMENT frameset (frameset|frame|noframes)*>
971+<!ATTLIST frameset
972+ %coreattrs;
973+ rows %MultiLengths; #IMPLIED
974+ cols %MultiLengths; #IMPLIED
975+ onload %Script; #IMPLIED
976+ onunload %Script; #IMPLIED
977+ >
978+
979+<!-- reserved frame names start with "_" otherwise starts with letter -->
980+
981+<!-- tiled window within frameset -->
982+
983+<!ELEMENT frame EMPTY>
984+<!ATTLIST frame
985+ %coreattrs;
986+ longdesc %URI; #IMPLIED
987+ name NMTOKEN #IMPLIED
988+ src %URI; #IMPLIED
989+ frameborder (1|0) "1"
990+ marginwidth %Pixels; #IMPLIED
991+ marginheight %Pixels; #IMPLIED
992+ noresize (noresize) #IMPLIED
993+ scrolling (yes|no|auto) "auto"
994+ >
995+
996+<!-- inline subwindow -->
997+
998+<!ELEMENT iframe %Flow;>
999+<!ATTLIST iframe
1000+ %coreattrs;
1001+ longdesc %URI; #IMPLIED
1002+ name NMTOKEN #IMPLIED
1003+ src %URI; #IMPLIED
1004+ frameborder (1|0) "1"
1005+ marginwidth %Pixels; #IMPLIED
1006+ marginheight %Pixels; #IMPLIED
1007+ scrolling (yes|no|auto) "auto"
1008+ align %ImgAlign; #IMPLIED
1009+ height %Length; #IMPLIED
1010+ width %Length; #IMPLIED
1011+ >
1012+
1013+<!-- alternate content container for non frame-based rendering -->
1014+
1015+<!ELEMENT noframes (body)>
1016+<!ATTLIST noframes
1017+ %attrs;
1018+ >
1019+
1020+<!--=================== Document Body ====================================-->
1021+
1022+<!ELEMENT body %Flow;>
1023+<!ATTLIST body
1024+ %attrs;
1025+ onload %Script; #IMPLIED
1026+ onunload %Script; #IMPLIED
1027+ background %URI; #IMPLIED
1028+ bgcolor %Color; #IMPLIED
1029+ text %Color; #IMPLIED
1030+ link %Color; #IMPLIED
1031+ vlink %Color; #IMPLIED
1032+ alink %Color; #IMPLIED
1033+ >
1034+
1035+<!ELEMENT div %Flow;> <!-- generic language/style container -->
1036+<!ATTLIST div
1037+ %attrs;
1038+ %TextAlign;
1039+ >
1040+
1041+<!--=================== Paragraphs =======================================-->
1042+
1043+<!ELEMENT p %Inline;>
1044+<!ATTLIST p
1045+ %attrs;
1046+ %TextAlign;
1047+ >
1048+
1049+<!--=================== Headings =========================================-->
1050+
1051+<!--
1052+ There are six levels of headings from h1 (the most important)
1053+ to h6 (the least important).
1054+-->
1055+
1056+<!ELEMENT h1 %Inline;>
1057+<!ATTLIST h1
1058+ %attrs;
1059+ %TextAlign;
1060+ >
1061+
1062+<!ELEMENT h2 %Inline;>
1063+<!ATTLIST h2
1064+ %attrs;
1065+ %TextAlign;
1066+ >
1067+
1068+<!ELEMENT h3 %Inline;>
1069+<!ATTLIST h3
1070+ %attrs;
1071+ %TextAlign;
1072+ >
1073+
1074+<!ELEMENT h4 %Inline;>
1075+<!ATTLIST h4
1076+ %attrs;
1077+ %TextAlign;
1078+ >
1079+
1080+<!ELEMENT h5 %Inline;>
1081+<!ATTLIST h5
1082+ %attrs;
1083+ %TextAlign;
1084+ >
1085+
1086+<!ELEMENT h6 %Inline;>
1087+<!ATTLIST h6
1088+ %attrs;
1089+ %TextAlign;
1090+ >
1091+
1092+<!--=================== Lists ============================================-->
1093+
1094+<!-- Unordered list bullet styles -->
1095+
1096+<!ENTITY % ULStyle "(disc|square|circle)">
1097+
1098+<!-- Unordered list -->
1099+
1100+<!ELEMENT ul (li)+>
1101+<!ATTLIST ul
1102+ %attrs;
1103+ type %ULStyle; #IMPLIED
1104+ compact (compact) #IMPLIED
1105+ >
1106+
1107+<!-- Ordered list numbering style
1108+
1109+ 1 arabic numbers 1, 2, 3, ...
1110+ a lower alpha a, b, c, ...
1111+ A upper alpha A, B, C, ...
1112+ i lower roman i, ii, iii, ...
1113+ I upper roman I, II, III, ...
1114+
1115+ The style is applied to the sequence number which by default
1116+ is reset to 1 for the first list item in an ordered list.
1117+-->
1118+<!ENTITY % OLStyle "CDATA">
1119+
1120+<!-- Ordered (numbered) list -->
1121+
1122+<!ELEMENT ol (li)+>
1123+<!ATTLIST ol
1124+ %attrs;
1125+ type %OLStyle; #IMPLIED
1126+ compact (compact) #IMPLIED
1127+ start %Number; #IMPLIED
1128+ >
1129+
1130+<!-- single column list (DEPRECATED) -->
1131+<!ELEMENT menu (li)+>
1132+<!ATTLIST menu
1133+ %attrs;
1134+ compact (compact) #IMPLIED
1135+ >
1136+
1137+<!-- multiple column list (DEPRECATED) -->
1138+<!ELEMENT dir (li)+>
1139+<!ATTLIST dir
1140+ %attrs;
1141+ compact (compact) #IMPLIED
1142+ >
1143+
1144+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
1145+<!ENTITY % LIStyle "CDATA">
1146+
1147+<!-- list item -->
1148+
1149+<!ELEMENT li %Flow;>
1150+<!ATTLIST li
1151+ %attrs;
1152+ type %LIStyle; #IMPLIED
1153+ value %Number; #IMPLIED
1154+ >
1155+
1156+<!-- definition lists - dt for term, dd for its definition -->
1157+
1158+<!ELEMENT dl (dt|dd)+>
1159+<!ATTLIST dl
1160+ %attrs;
1161+ compact (compact) #IMPLIED
1162+ >
1163+
1164+<!ELEMENT dt %Inline;>
1165+<!ATTLIST dt
1166+ %attrs;
1167+ >
1168+
1169+<!ELEMENT dd %Flow;>
1170+<!ATTLIST dd
1171+ %attrs;
1172+ >
1173+
1174+<!--=================== Address ==========================================-->
1175+
1176+<!-- information on author -->
1177+
1178+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
1179+<!ATTLIST address
1180+ %attrs;
1181+ >
1182+
1183+<!--=================== Horizontal Rule ==================================-->
1184+
1185+<!ELEMENT hr EMPTY>
1186+<!ATTLIST hr
1187+ %attrs;
1188+ align (left|center|right) #IMPLIED
1189+ noshade (noshade) #IMPLIED
1190+ size %Pixels; #IMPLIED
1191+ width %Length; #IMPLIED
1192+ >
1193+
1194+<!--=================== Preformatted Text ================================-->
1195+
1196+<!-- content is %Inline; excluding
1197+ "img|object|applet|big|small|sub|sup|font|basefont" -->
1198+
1199+<!ELEMENT pre %pre.content;>
1200+<!ATTLIST pre
1201+ %attrs;
1202+ width %Number; #IMPLIED
1203+ xml:space (preserve) #FIXED 'preserve'
1204+ >
1205+
1206+<!--=================== Block-like Quotes ================================-->
1207+
1208+<!ELEMENT blockquote %Flow;>
1209+<!ATTLIST blockquote
1210+ %attrs;
1211+ cite %URI; #IMPLIED
1212+ >
1213+
1214+<!--=================== Text alignment ===================================-->
1215+
1216+<!-- center content -->
1217+<!ELEMENT center %Flow;>
1218+<!ATTLIST center
1219+ %attrs;
1220+ >
1221+
1222+<!--=================== Inserted/Deleted Text ============================-->
1223+
1224+
1225+<!--
1226+ ins/del are allowed in block and inline content, but its
1227+ inappropriate to include block content within an ins element
1228+ occurring in inline content.
1229+-->
1230+<!ELEMENT ins %Flow;>
1231+<!ATTLIST ins
1232+ %attrs;
1233+ cite %URI; #IMPLIED
1234+ datetime %Datetime; #IMPLIED
1235+ >
1236+
1237+<!ELEMENT del %Flow;>
1238+<!ATTLIST del
1239+ %attrs;
1240+ cite %URI; #IMPLIED
1241+ datetime %Datetime; #IMPLIED
1242+ >
1243+
1244+<!--================== The Anchor Element ================================-->
1245+
1246+<!-- content is %Inline; except that anchors shouldn't be nested -->
1247+
1248+<!ELEMENT a %a.content;>
1249+<!ATTLIST a
1250+ %attrs;
1251+ %focus;
1252+ charset %Charset; #IMPLIED
1253+ type %ContentType; #IMPLIED
1254+ name NMTOKEN #IMPLIED
1255+ href %URI; #IMPLIED
1256+ hreflang %LanguageCode; #IMPLIED
1257+ rel %LinkTypes; #IMPLIED
1258+ rev %LinkTypes; #IMPLIED
1259+ shape %Shape; "rect"
1260+ coords %Coords; #IMPLIED
1261+ target %FrameTarget; #IMPLIED
1262+ >
1263+
1264+<!--===================== Inline Elements ================================-->
1265+
1266+<!ELEMENT span %Inline;> <!-- generic language/style container -->
1267+<!ATTLIST span
1268+ %attrs;
1269+ >
1270+
1271+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
1272+<!ATTLIST bdo
1273+ %coreattrs;
1274+ %events;
1275+ lang %LanguageCode; #IMPLIED
1276+ xml:lang %LanguageCode; #IMPLIED
1277+ dir (ltr|rtl) #REQUIRED
1278+ >
1279+
1280+<!ELEMENT br EMPTY> <!-- forced line break -->
1281+<!ATTLIST br
1282+ %coreattrs;
1283+ clear (left|all|right|none) "none"
1284+ >
1285+
1286+<!ELEMENT em %Inline;> <!-- emphasis -->
1287+<!ATTLIST em %attrs;>
1288+
1289+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
1290+<!ATTLIST strong %attrs;>
1291+
1292+<!ELEMENT dfn %Inline;> <!-- definitional -->
1293+<!ATTLIST dfn %attrs;>
1294+
1295+<!ELEMENT code %Inline;> <!-- program code -->
1296+<!ATTLIST code %attrs;>
1297+
1298+<!ELEMENT samp %Inline;> <!-- sample -->
1299+<!ATTLIST samp %attrs;>
1300+
1301+<!ELEMENT kbd %Inline;> <!-- something user would type -->
1302+<!ATTLIST kbd %attrs;>
1303+
1304+<!ELEMENT var %Inline;> <!-- variable -->
1305+<!ATTLIST var %attrs;>
1306+
1307+<!ELEMENT cite %Inline;> <!-- citation -->
1308+<!ATTLIST cite %attrs;>
1309+
1310+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
1311+<!ATTLIST abbr %attrs;>
1312+
1313+<!ELEMENT acronym %Inline;> <!-- acronym -->
1314+<!ATTLIST acronym %attrs;>
1315+
1316+<!ELEMENT q %Inline;> <!-- inlined quote -->
1317+<!ATTLIST q
1318+ %attrs;
1319+ cite %URI; #IMPLIED
1320+ >
1321+
1322+<!ELEMENT sub %Inline;> <!-- subscript -->
1323+<!ATTLIST sub %attrs;>
1324+
1325+<!ELEMENT sup %Inline;> <!-- superscript -->
1326+<!ATTLIST sup %attrs;>
1327+
1328+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
1329+<!ATTLIST tt %attrs;>
1330+
1331+<!ELEMENT i %Inline;> <!-- italic font -->
1332+<!ATTLIST i %attrs;>
1333+
1334+<!ELEMENT b %Inline;> <!-- bold font -->
1335+<!ATTLIST b %attrs;>
1336+
1337+<!ELEMENT big %Inline;> <!-- bigger font -->
1338+<!ATTLIST big %attrs;>
1339+
1340+<!ELEMENT small %Inline;> <!-- smaller font -->
1341+<!ATTLIST small %attrs;>
1342+
1343+<!ELEMENT u %Inline;> <!-- underline -->
1344+<!ATTLIST u %attrs;>
1345+
1346+<!ELEMENT s %Inline;> <!-- strike-through -->
1347+<!ATTLIST s %attrs;>
1348+
1349+<!ELEMENT strike %Inline;> <!-- strike-through -->
1350+<!ATTLIST strike %attrs;>
1351+
1352+<!ELEMENT basefont EMPTY> <!-- base font size -->
1353+<!ATTLIST basefont
1354+ id ID #IMPLIED
1355+ size CDATA #REQUIRED
1356+ color %Color; #IMPLIED
1357+ face CDATA #IMPLIED
1358+ >
1359+
1360+<!ELEMENT font %Inline;> <!-- local change to font -->
1361+<!ATTLIST font
1362+ %coreattrs;
1363+ %i18n;
1364+ size CDATA #IMPLIED
1365+ color %Color; #IMPLIED
1366+ face CDATA #IMPLIED
1367+ >
1368+
1369+<!--==================== Object ======================================-->
1370+<!--
1371+ object is used to embed objects as part of HTML pages.
1372+ param elements should precede other content. Parameters
1373+ can also be expressed as attribute/value pairs on the
1374+ object element itself when brevity is desired.
1375+-->
1376+
1377+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
1378+<!ATTLIST object
1379+ %attrs;
1380+ declare (declare) #IMPLIED
1381+ classid %URI; #IMPLIED
1382+ codebase %URI; #IMPLIED
1383+ data %URI; #IMPLIED
1384+ type %ContentType; #IMPLIED
1385+ codetype %ContentType; #IMPLIED
1386+ archive %UriList; #IMPLIED
1387+ standby %Text; #IMPLIED
1388+ height %Length; #IMPLIED
1389+ width %Length; #IMPLIED
1390+ usemap %URI; #IMPLIED
1391+ name NMTOKEN #IMPLIED
1392+ tabindex %Number; #IMPLIED
1393+ align %ImgAlign; #IMPLIED
1394+ border %Pixels; #IMPLIED
1395+ hspace %Pixels; #IMPLIED
1396+ vspace %Pixels; #IMPLIED
1397+ >
1398+
1399+<!--
1400+ param is used to supply a named property value.
1401+ In XML it would seem natural to follow RDF and support an
1402+ abbreviated syntax where the param elements are replaced
1403+ by attribute value pairs on the object start tag.
1404+-->
1405+<!ELEMENT param EMPTY>
1406+<!ATTLIST param
1407+ id ID #IMPLIED
1408+ name CDATA #REQUIRED
1409+ value CDATA #IMPLIED
1410+ valuetype (data|ref|object) "data"
1411+ type %ContentType; #IMPLIED
1412+ >
1413+
1414+<!--=================== Java applet ==================================-->
1415+<!--
1416+ One of code or object attributes must be present.
1417+ Place param elements before other content.
1418+-->
1419+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
1420+<!ATTLIST applet
1421+ %coreattrs;
1422+ codebase %URI; #IMPLIED
1423+ archive CDATA #IMPLIED
1424+ code CDATA #IMPLIED
1425+ object CDATA #IMPLIED
1426+ alt %Text; #IMPLIED
1427+ name NMTOKEN #IMPLIED
1428+ width %Length; #REQUIRED
1429+ height %Length; #REQUIRED
1430+ align %ImgAlign; #IMPLIED
1431+ hspace %Pixels; #IMPLIED
1432+ vspace %Pixels; #IMPLIED
1433+ >
1434+
1435+<!--=================== Images ===========================================-->
1436+
1437+<!--
1438+ To avoid accessibility problems for people who aren't
1439+ able to see the image, you should provide a text
1440+ description using the alt and longdesc attributes.
1441+ In addition, avoid the use of server-side image maps.
1442+-->
1443+
1444+<!ELEMENT img EMPTY>
1445+<!ATTLIST img
1446+ %attrs;
1447+ src %URI; #REQUIRED
1448+ alt %Text; #REQUIRED
1449+ name NMTOKEN #IMPLIED
1450+ longdesc %URI; #IMPLIED
1451+ height %Length; #IMPLIED
1452+ width %Length; #IMPLIED
1453+ usemap %URI; #IMPLIED
1454+ ismap (ismap) #IMPLIED
1455+ align %ImgAlign; #IMPLIED
1456+ border %Pixels; #IMPLIED
1457+ hspace %Pixels; #IMPLIED
1458+ vspace %Pixels; #IMPLIED
1459+ >
1460+
1461+<!-- usemap points to a map element which may be in this document
1462+ or an external document, although the latter is not widely supported -->
1463+
1464+<!--================== Client-side image maps ============================-->
1465+
1466+<!-- These can be placed in the same document or grouped in a
1467+ separate document although this isn't yet widely supported -->
1468+
1469+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
1470+<!ATTLIST map
1471+ %i18n;
1472+ %events;
1473+ id ID #REQUIRED
1474+ class CDATA #IMPLIED
1475+ style %StyleSheet; #IMPLIED
1476+ title %Text; #IMPLIED
1477+ name NMTOKEN #IMPLIED
1478+ >
1479+
1480+<!ELEMENT area EMPTY>
1481+<!ATTLIST area
1482+ %attrs;
1483+ %focus;
1484+ shape %Shape; "rect"
1485+ coords %Coords; #IMPLIED
1486+ href %URI; #IMPLIED
1487+ nohref (nohref) #IMPLIED
1488+ alt %Text; #REQUIRED
1489+ target %FrameTarget; #IMPLIED
1490+ >
1491+
1492+<!--================ Forms ===============================================-->
1493+
1494+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
1495+
1496+<!ATTLIST form
1497+ %attrs;
1498+ action %URI; #REQUIRED
1499+ method (get|post) "get"
1500+ name NMTOKEN #IMPLIED
1501+ enctype %ContentType; "application/x-www-form-urlencoded"
1502+ onsubmit %Script; #IMPLIED
1503+ onreset %Script; #IMPLIED
1504+ accept %ContentTypes; #IMPLIED
1505+ accept-charset %Charsets; #IMPLIED
1506+ target %FrameTarget; #IMPLIED
1507+ >
1508+
1509+<!--
1510+ Each label must not contain more than ONE field
1511+ Label elements shouldn't be nested.
1512+-->
1513+<!ELEMENT label %Inline;>
1514+<!ATTLIST label
1515+ %attrs;
1516+ for IDREF #IMPLIED
1517+ accesskey %Character; #IMPLIED
1518+ onfocus %Script; #IMPLIED
1519+ onblur %Script; #IMPLIED
1520+ >
1521+
1522+<!ENTITY % InputType
1523+ "(text | password | checkbox |
1524+ radio | submit | reset |
1525+ file | hidden | image | button)"
1526+ >
1527+
1528+<!-- the name attribute is required for all but submit & reset -->
1529+
1530+<!ELEMENT input EMPTY> <!-- form control -->
1531+<!ATTLIST input
1532+ %attrs;
1533+ %focus;
1534+ type %InputType; "text"
1535+ name CDATA #IMPLIED
1536+ value CDATA #IMPLIED
1537+ checked (checked) #IMPLIED
1538+ disabled (disabled) #IMPLIED
1539+ readonly (readonly) #IMPLIED
1540+ size CDATA #IMPLIED
1541+ maxlength %Number; #IMPLIED
1542+ src %URI; #IMPLIED
1543+ alt CDATA #IMPLIED
1544+ usemap %URI; #IMPLIED
1545+ onselect %Script; #IMPLIED
1546+ onchange %Script; #IMPLIED
1547+ accept %ContentTypes; #IMPLIED
1548+ align %ImgAlign; #IMPLIED
1549+ >
1550+
1551+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
1552+<!ATTLIST select
1553+ %attrs;
1554+ name CDATA #IMPLIED
1555+ size %Number; #IMPLIED
1556+ multiple (multiple) #IMPLIED
1557+ disabled (disabled) #IMPLIED
1558+ tabindex %Number; #IMPLIED
1559+ onfocus %Script; #IMPLIED
1560+ onblur %Script; #IMPLIED
1561+ onchange %Script; #IMPLIED
1562+ >
1563+
1564+<!ELEMENT optgroup (option)+> <!-- option group -->
1565+<!ATTLIST optgroup
1566+ %attrs;
1567+ disabled (disabled) #IMPLIED
1568+ label %Text; #REQUIRED
1569+ >
1570+
1571+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
1572+<!ATTLIST option
1573+ %attrs;
1574+ selected (selected) #IMPLIED
1575+ disabled (disabled) #IMPLIED
1576+ label %Text; #IMPLIED
1577+ value CDATA #IMPLIED
1578+ >
1579+
1580+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
1581+<!ATTLIST textarea
1582+ %attrs;
1583+ %focus;
1584+ name CDATA #IMPLIED
1585+ rows %Number; #REQUIRED
1586+ cols %Number; #REQUIRED
1587+ disabled (disabled) #IMPLIED
1588+ readonly (readonly) #IMPLIED
1589+ onselect %Script; #IMPLIED
1590+ onchange %Script; #IMPLIED
1591+ >
1592+
1593+<!--
1594+ The fieldset element is used to group form fields.
1595+ Only one legend element should occur in the content
1596+ and if present should only be preceded by whitespace.
1597+-->
1598+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
1599+<!ATTLIST fieldset
1600+ %attrs;
1601+ >
1602+
1603+<!ENTITY % LAlign "(top|bottom|left|right)">
1604+
1605+<!ELEMENT legend %Inline;> <!-- fieldset label -->
1606+<!ATTLIST legend
1607+ %attrs;
1608+ accesskey %Character; #IMPLIED
1609+ align %LAlign; #IMPLIED
1610+ >
1611+
1612+<!--
1613+ Content is %Flow; excluding a, form, form controls, iframe
1614+-->
1615+<!ELEMENT button %button.content;> <!-- push button -->
1616+<!ATTLIST button
1617+ %attrs;
1618+ %focus;
1619+ name CDATA #IMPLIED
1620+ value CDATA #IMPLIED
1621+ type (button|submit|reset) "submit"
1622+ disabled (disabled) #IMPLIED
1623+ >
1624+
1625+<!-- single-line text input control (DEPRECATED) -->
1626+<!ELEMENT isindex EMPTY>
1627+<!ATTLIST isindex
1628+ %coreattrs;
1629+ %i18n;
1630+ prompt %Text; #IMPLIED
1631+ >
1632+
1633+<!--======================= Tables =======================================-->
1634+
1635+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
1636+
1637+<!--
1638+ The border attribute sets the thickness of the frame around the
1639+ table. The default units are screen pixels.
1640+
1641+ The frame attribute specifies which parts of the frame around
1642+ the table should be rendered. The values are not the same as
1643+ CALS to avoid a name clash with the valign attribute.
1644+-->
1645+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1646+
1647+<!--
1648+ The rules attribute defines which rules to draw between cells:
1649+
1650+ If rules is absent then assume:
1651+ "none" if border is absent or border="0" otherwise "all"
1652+-->
1653+
1654+<!ENTITY % TRules "(none | groups | rows | cols | all)">
1655+
1656+<!-- horizontal placement of table relative to document -->
1657+<!ENTITY % TAlign "(left|center|right)">
1658+
1659+<!-- horizontal alignment attributes for cell contents
1660+
1661+ char alignment char, e.g. char=":"
1662+ charoff offset for alignment char
1663+-->
1664+<!ENTITY % cellhalign
1665+ "align (left|center|right|justify|char) #IMPLIED
1666+ char %Character; #IMPLIED
1667+ charoff %Length; #IMPLIED"
1668+ >
1669+
1670+<!-- vertical alignment attributes for cell contents -->
1671+<!ENTITY % cellvalign
1672+ "valign (top|middle|bottom|baseline) #IMPLIED"
1673+ >
1674+
1675+<!ELEMENT table
1676+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1677+<!ELEMENT caption %Inline;>
1678+<!ELEMENT thead (tr)+>
1679+<!ELEMENT tfoot (tr)+>
1680+<!ELEMENT tbody (tr)+>
1681+<!ELEMENT colgroup (col)*>
1682+<!ELEMENT col EMPTY>
1683+<!ELEMENT tr (th|td)+>
1684+<!ELEMENT th %Flow;>
1685+<!ELEMENT td %Flow;>
1686+
1687+<!ATTLIST table
1688+ %attrs;
1689+ summary %Text; #IMPLIED
1690+ width %Length; #IMPLIED
1691+ border %Pixels; #IMPLIED
1692+ frame %TFrame; #IMPLIED
1693+ rules %TRules; #IMPLIED
1694+ cellspacing %Length; #IMPLIED
1695+ cellpadding %Length; #IMPLIED
1696+ align %TAlign; #IMPLIED
1697+ bgcolor %Color; #IMPLIED
1698+ >
1699+
1700+<!ENTITY % CAlign "(top|bottom|left|right)">
1701+
1702+<!ATTLIST caption
1703+ %attrs;
1704+ align %CAlign; #IMPLIED
1705+ >
1706+
1707+<!--
1708+colgroup groups a set of col elements. It allows you to group
1709+several semantically related columns together.
1710+-->
1711+<!ATTLIST colgroup
1712+ %attrs;
1713+ span %Number; "1"
1714+ width %MultiLength; #IMPLIED
1715+ %cellhalign;
1716+ %cellvalign;
1717+ >
1718+
1719+<!--
1720+ col elements define the alignment properties for cells in
1721+ one or more columns.
1722+
1723+ The width attribute specifies the width of the columns, e.g.
1724+
1725+ width=64 width in screen pixels
1726+ width=0.5* relative width of 0.5
1727+
1728+ The span attribute causes the attributes of one
1729+ col element to apply to more than one column.
1730+-->
1731+<!ATTLIST col
1732+ %attrs;
1733+ span %Number; "1"
1734+ width %MultiLength; #IMPLIED
1735+ %cellhalign;
1736+ %cellvalign;
1737+ >
1738+
1739+<!--
1740+ Use thead to duplicate headers when breaking table
1741+ across page boundaries, or for static headers when
1742+ tbody sections are rendered in scrolling panel.
1743+
1744+ Use tfoot to duplicate footers when breaking table
1745+ across page boundaries, or for static footers when
1746+ tbody sections are rendered in scrolling panel.
1747+
1748+ Use multiple tbody sections when rules are needed
1749+ between groups of table rows.
1750+-->
1751+<!ATTLIST thead
1752+ %attrs;
1753+ %cellhalign;
1754+ %cellvalign;
1755+ >
1756+
1757+<!ATTLIST tfoot
1758+ %attrs;
1759+ %cellhalign;
1760+ %cellvalign;
1761+ >
1762+
1763+<!ATTLIST tbody
1764+ %attrs;
1765+ %cellhalign;
1766+ %cellvalign;
1767+ >
1768+
1769+<!ATTLIST tr
1770+ %attrs;
1771+ %cellhalign;
1772+ %cellvalign;
1773+ bgcolor %Color; #IMPLIED
1774+ >
1775+
1776+<!-- Scope is simpler than headers attribute for common tables -->
1777+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1778+
1779+<!-- th is for headers, td for data and for cells acting as both -->
1780+
1781+<!ATTLIST th
1782+ %attrs;
1783+ abbr %Text; #IMPLIED
1784+ axis CDATA #IMPLIED
1785+ headers IDREFS #IMPLIED
1786+ scope %Scope; #IMPLIED
1787+ rowspan %Number; "1"
1788+ colspan %Number; "1"
1789+ %cellhalign;
1790+ %cellvalign;
1791+ nowrap (nowrap) #IMPLIED
1792+ bgcolor %Color; #IMPLIED
1793+ width %Pixels; #IMPLIED
1794+ height %Pixels; #IMPLIED
1795+ >
1796+
1797+<!ATTLIST td
1798+ %attrs;
1799+ abbr %Text; #IMPLIED
1800+ axis CDATA #IMPLIED
1801+ headers IDREFS #IMPLIED
1802+ scope %Scope; #IMPLIED
1803+ rowspan %Number; "1"
1804+ colspan %Number; "1"
1805+ %cellhalign;
1806+ %cellvalign;
1807+ nowrap (nowrap) #IMPLIED
1808+ bgcolor %Color; #IMPLIED
1809+ width %Pixels; #IMPLIED
1810+ height %Pixels; #IMPLIED
1811+ >
1812+
1813
1814=== added file 'schemas/xhtml/xhtml1-strict.dtd'
1815--- schemas/xhtml/xhtml1-strict.dtd 1970-01-01 00:00:00 +0000
1816+++ schemas/xhtml/xhtml1-strict.dtd 2012-02-01 16:41:17 +0000
1817@@ -0,0 +1,978 @@
1818+<!--
1819+ Extensible HTML version 1.0 Strict DTD
1820+
1821+ This is the same as HTML 4 Strict except for
1822+ changes due to the differences between XML and SGML.
1823+
1824+ Namespace = http://www.w3.org/1999/xhtml
1825+
1826+ For further information, see: http://www.w3.org/TR/xhtml1
1827+
1828+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
1829+ All Rights Reserved.
1830+
1831+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
1832+
1833+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
1834+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
1835+
1836+ $Revision: 1.24 $
1837+ $Date: 2002/07/31 19:34:51 $
1838+
1839+-->
1840+
1841+<!--================ Character mnemonic entities =========================-->
1842+
1843+<!ENTITY % HTMLlat1 PUBLIC
1844+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
1845+ "xhtml-lat1.ent">
1846+%HTMLlat1;
1847+
1848+<!ENTITY % HTMLsymbol PUBLIC
1849+ "-//W3C//ENTITIES Symbols for XHTML//EN"
1850+ "xhtml-symbol.ent">
1851+%HTMLsymbol;
1852+
1853+<!ENTITY % HTMLspecial PUBLIC
1854+ "-//W3C//ENTITIES Special for XHTML//EN"
1855+ "xhtml-special.ent">
1856+%HTMLspecial;
1857+
1858+<!--================== Imported Names ====================================-->
1859+
1860+<!ENTITY % ContentType "CDATA">
1861+ <!-- media type, as per [RFC2045] -->
1862+
1863+<!ENTITY % ContentTypes "CDATA">
1864+ <!-- comma-separated list of media types, as per [RFC2045] -->
1865+
1866+<!ENTITY % Charset "CDATA">
1867+ <!-- a character encoding, as per [RFC2045] -->
1868+
1869+<!ENTITY % Charsets "CDATA">
1870+ <!-- a space separated list of character encodings, as per [RFC2045] -->
1871+
1872+<!ENTITY % LanguageCode "NMTOKEN">
1873+ <!-- a language code, as per [RFC3066] -->
1874+
1875+<!ENTITY % Character "CDATA">
1876+ <!-- a single character, as per section 2.2 of [XML] -->
1877+
1878+<!ENTITY % Number "CDATA">
1879+ <!-- one or more digits -->
1880+
1881+<!ENTITY % LinkTypes "CDATA">
1882+ <!-- space-separated list of link types -->
1883+
1884+<!ENTITY % MediaDesc "CDATA">
1885+ <!-- single or comma-separated list of media descriptors -->
1886+
1887+<!ENTITY % URI "CDATA">
1888+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
1889+
1890+<!ENTITY % UriList "CDATA">
1891+ <!-- a space separated list of Uniform Resource Identifiers -->
1892+
1893+<!ENTITY % Datetime "CDATA">
1894+ <!-- date and time information. ISO date format -->
1895+
1896+<!ENTITY % Script "CDATA">
1897+ <!-- script expression -->
1898+
1899+<!ENTITY % StyleSheet "CDATA">
1900+ <!-- style sheet data -->
1901+
1902+<!ENTITY % Text "CDATA">
1903+ <!-- used for titles etc. -->
1904+
1905+<!ENTITY % Length "CDATA">
1906+ <!-- nn for pixels or nn% for percentage length -->
1907+
1908+<!ENTITY % MultiLength "CDATA">
1909+ <!-- pixel, percentage, or relative -->
1910+
1911+<!ENTITY % Pixels "CDATA">
1912+ <!-- integer representing length in pixels -->
1913+
1914+<!-- these are used for image maps -->
1915+
1916+<!ENTITY % Shape "(rect|circle|poly|default)">
1917+
1918+<!ENTITY % Coords "CDATA">
1919+ <!-- comma separated list of lengths -->
1920+
1921+<!--=================== Generic Attributes ===============================-->
1922+
1923+<!-- core attributes common to most elements
1924+ id document-wide unique id
1925+ class space separated list of classes
1926+ style associated style info
1927+ title advisory title/amplification
1928+-->
1929+<!ENTITY % coreattrs
1930+ "id ID #IMPLIED
1931+ class CDATA #IMPLIED
1932+ style %StyleSheet; #IMPLIED
1933+ title %Text; #IMPLIED"
1934+ >
1935+
1936+<!-- internationalization attributes
1937+ lang language code (backwards compatible)
1938+ xml:lang language code (as per XML 1.0 spec)
1939+ dir direction for weak/neutral text
1940+-->
1941+<!ENTITY % i18n
1942+ "lang %LanguageCode; #IMPLIED
1943+ xml:lang %LanguageCode; #IMPLIED
1944+ dir (ltr|rtl) #IMPLIED"
1945+ >
1946+
1947+<!-- attributes for common UI events
1948+ onclick a pointer button was clicked
1949+ ondblclick a pointer button was double clicked
1950+ onmousedown a pointer button was pressed down
1951+ onmouseup a pointer button was released
1952+ onmousemove a pointer was moved onto the element
1953+ onmouseout a pointer was moved away from the element
1954+ onkeypress a key was pressed and released
1955+ onkeydown a key was pressed down
1956+ onkeyup a key was released
1957+-->
1958+<!ENTITY % events
1959+ "onclick %Script; #IMPLIED
1960+ ondblclick %Script; #IMPLIED
1961+ onmousedown %Script; #IMPLIED
1962+ onmouseup %Script; #IMPLIED
1963+ onmouseover %Script; #IMPLIED
1964+ onmousemove %Script; #IMPLIED
1965+ onmouseout %Script; #IMPLIED
1966+ onkeypress %Script; #IMPLIED
1967+ onkeydown %Script; #IMPLIED
1968+ onkeyup %Script; #IMPLIED"
1969+ >
1970+
1971+<!-- attributes for elements that can get the focus
1972+ accesskey accessibility key character
1973+ tabindex position in tabbing order
1974+ onfocus the element got the focus
1975+ onblur the element lost the focus
1976+-->
1977+<!ENTITY % focus
1978+ "accesskey %Character; #IMPLIED
1979+ tabindex %Number; #IMPLIED
1980+ onfocus %Script; #IMPLIED
1981+ onblur %Script; #IMPLIED"
1982+ >
1983+
1984+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
1985+
1986+<!--=================== Text Elements ====================================-->
1987+
1988+<!ENTITY % special.pre
1989+ "br | span | bdo | map">
1990+
1991+
1992+<!ENTITY % special
1993+ "%special.pre; | object | img ">
1994+
1995+<!ENTITY % fontstyle "tt | i | b | big | small ">
1996+
1997+<!ENTITY % phrase "em | strong | dfn | code | q |
1998+ samp | kbd | var | cite | abbr | acronym | sub | sup ">
1999+
2000+<!ENTITY % inline.forms "input | select | textarea | label | button">
2001+
2002+<!-- these can occur at block or inline level -->
2003+<!ENTITY % misc.inline "ins | del | script">
2004+
2005+<!-- these can only occur at block level -->
2006+<!ENTITY % misc "noscript | %misc.inline;">
2007+
2008+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
2009+
2010+<!-- %Inline; covers inline or "text-level" elements -->
2011+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
2012+
2013+<!--================== Block level elements ==============================-->
2014+
2015+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
2016+<!ENTITY % lists "ul | ol | dl">
2017+<!ENTITY % blocktext "pre | hr | blockquote | address">
2018+
2019+<!ENTITY % block
2020+ "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
2021+
2022+<!ENTITY % Block "(%block; | form | %misc;)*">
2023+
2024+<!-- %Flow; mixes block and inline and is used for list items etc. -->
2025+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
2026+
2027+<!--================== Content models for exclusions =====================-->
2028+
2029+<!-- a elements use %Inline; excluding a -->
2030+
2031+<!ENTITY % a.content
2032+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
2033+
2034+<!-- pre uses %Inline excluding big, small, sup or sup -->
2035+
2036+<!ENTITY % pre.content
2037+ "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
2038+ | %inline.forms;)*">
2039+
2040+<!-- form uses %Block; excluding form -->
2041+
2042+<!ENTITY % form.content "(%block; | %misc;)*">
2043+
2044+<!-- button uses %Flow; but excludes a, form and form controls -->
2045+
2046+<!ENTITY % button.content
2047+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
2048+ table | %special; | %fontstyle; | %phrase; | %misc;)*">
2049+
2050+<!--================ Document Structure ==================================-->
2051+
2052+<!-- the namespace URI designates the document profile -->
2053+
2054+<!ELEMENT html (head, body)>
2055+<!ATTLIST html
2056+ %i18n;
2057+ id ID #IMPLIED
2058+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
2059+ >
2060+
2061+<!--================ Document Head =======================================-->
2062+
2063+<!ENTITY % head.misc "(script|style|meta|link|object)*">
2064+
2065+<!-- content model is %head.misc; combined with a single
2066+ title and an optional base element in any order -->
2067+
2068+<!ELEMENT head (%head.misc;,
2069+ ((title, %head.misc;, (base, %head.misc;)?) |
2070+ (base, %head.misc;, (title, %head.misc;))))>
2071+
2072+<!ATTLIST head
2073+ %i18n;
2074+ id ID #IMPLIED
2075+ profile %URI; #IMPLIED
2076+ >
2077+
2078+<!-- The title element is not considered part of the flow of text.
2079+ It should be displayed, for example as the page header or
2080+ window title. Exactly one title is required per document.
2081+ -->
2082+<!ELEMENT title (#PCDATA)>
2083+<!ATTLIST title
2084+ %i18n;
2085+ id ID #IMPLIED
2086+ >
2087+
2088+<!-- document base URI -->
2089+
2090+<!ELEMENT base EMPTY>
2091+<!ATTLIST base
2092+ href %URI; #REQUIRED
2093+ id ID #IMPLIED
2094+ >
2095+
2096+<!-- generic metainformation -->
2097+<!ELEMENT meta EMPTY>
2098+<!ATTLIST meta
2099+ %i18n;
2100+ id ID #IMPLIED
2101+ http-equiv CDATA #IMPLIED
2102+ name CDATA #IMPLIED
2103+ content CDATA #REQUIRED
2104+ scheme CDATA #IMPLIED
2105+ >
2106+
2107+<!--
2108+ Relationship values can be used in principle:
2109+
2110+ a) for document specific toolbars/menus when used
2111+ with the link element in document head e.g.
2112+ start, contents, previous, next, index, end, help
2113+ b) to link to a separate style sheet (rel="stylesheet")
2114+ c) to make a link to a script (rel="script")
2115+ d) by stylesheets to control how collections of
2116+ html nodes are rendered into printed documents
2117+ e) to make a link to a printable version of this document
2118+ e.g. a PostScript or PDF version (rel="alternate" media="print")
2119+-->
2120+
2121+<!ELEMENT link EMPTY>
2122+<!ATTLIST link
2123+ %attrs;
2124+ charset %Charset; #IMPLIED
2125+ href %URI; #IMPLIED
2126+ hreflang %LanguageCode; #IMPLIED
2127+ type %ContentType; #IMPLIED
2128+ rel %LinkTypes; #IMPLIED
2129+ rev %LinkTypes; #IMPLIED
2130+ media %MediaDesc; #IMPLIED
2131+ >
2132+
2133+<!-- style info, which may include CDATA sections -->
2134+<!ELEMENT style (#PCDATA)>
2135+<!ATTLIST style
2136+ %i18n;
2137+ id ID #IMPLIED
2138+ type %ContentType; #REQUIRED
2139+ media %MediaDesc; #IMPLIED
2140+ title %Text; #IMPLIED
2141+ xml:space (preserve) #FIXED 'preserve'
2142+ >
2143+
2144+<!-- script statements, which may include CDATA sections -->
2145+<!ELEMENT script (#PCDATA)>
2146+<!ATTLIST script
2147+ id ID #IMPLIED
2148+ charset %Charset; #IMPLIED
2149+ type %ContentType; #REQUIRED
2150+ src %URI; #IMPLIED
2151+ defer (defer) #IMPLIED
2152+ xml:space (preserve) #FIXED 'preserve'
2153+ >
2154+
2155+<!-- alternate content container for non script-based rendering -->
2156+
2157+<!ELEMENT noscript %Block;>
2158+<!ATTLIST noscript
2159+ %attrs;
2160+ >
2161+
2162+<!--=================== Document Body ====================================-->
2163+
2164+<!ELEMENT body %Block;>
2165+<!ATTLIST body
2166+ %attrs;
2167+ onload %Script; #IMPLIED
2168+ onunload %Script; #IMPLIED
2169+ >
2170+
2171+<!ELEMENT div %Flow;> <!-- generic language/style container -->
2172+<!ATTLIST div
2173+ %attrs;
2174+ >
2175+
2176+<!--=================== Paragraphs =======================================-->
2177+
2178+<!ELEMENT p %Inline;>
2179+<!ATTLIST p
2180+ %attrs;
2181+ >
2182+
2183+<!--=================== Headings =========================================-->
2184+
2185+<!--
2186+ There are six levels of headings from h1 (the most important)
2187+ to h6 (the least important).
2188+-->
2189+
2190+<!ELEMENT h1 %Inline;>
2191+<!ATTLIST h1
2192+ %attrs;
2193+ >
2194+
2195+<!ELEMENT h2 %Inline;>
2196+<!ATTLIST h2
2197+ %attrs;
2198+ >
2199+
2200+<!ELEMENT h3 %Inline;>
2201+<!ATTLIST h3
2202+ %attrs;
2203+ >
2204+
2205+<!ELEMENT h4 %Inline;>
2206+<!ATTLIST h4
2207+ %attrs;
2208+ >
2209+
2210+<!ELEMENT h5 %Inline;>
2211+<!ATTLIST h5
2212+ %attrs;
2213+ >
2214+
2215+<!ELEMENT h6 %Inline;>
2216+<!ATTLIST h6
2217+ %attrs;
2218+ >
2219+
2220+<!--=================== Lists ============================================-->
2221+
2222+<!-- Unordered list -->
2223+
2224+<!ELEMENT ul (li)+>
2225+<!ATTLIST ul
2226+ %attrs;
2227+ >
2228+
2229+<!-- Ordered (numbered) list -->
2230+
2231+<!ELEMENT ol (li)+>
2232+<!ATTLIST ol
2233+ %attrs;
2234+ >
2235+
2236+<!-- list item -->
2237+
2238+<!ELEMENT li %Flow;>
2239+<!ATTLIST li
2240+ %attrs;
2241+ >
2242+
2243+<!-- definition lists - dt for term, dd for its definition -->
2244+
2245+<!ELEMENT dl (dt|dd)+>
2246+<!ATTLIST dl
2247+ %attrs;
2248+ >
2249+
2250+<!ELEMENT dt %Inline;>
2251+<!ATTLIST dt
2252+ %attrs;
2253+ >
2254+
2255+<!ELEMENT dd %Flow;>
2256+<!ATTLIST dd
2257+ %attrs;
2258+ >
2259+
2260+<!--=================== Address ==========================================-->
2261+
2262+<!-- information on author -->
2263+
2264+<!ELEMENT address %Inline;>
2265+<!ATTLIST address
2266+ %attrs;
2267+ >
2268+
2269+<!--=================== Horizontal Rule ==================================-->
2270+
2271+<!ELEMENT hr EMPTY>
2272+<!ATTLIST hr
2273+ %attrs;
2274+ >
2275+
2276+<!--=================== Preformatted Text ================================-->
2277+
2278+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
2279+
2280+<!ELEMENT pre %pre.content;>
2281+<!ATTLIST pre
2282+ %attrs;
2283+ xml:space (preserve) #FIXED 'preserve'
2284+ >
2285+
2286+<!--=================== Block-like Quotes ================================-->
2287+
2288+<!ELEMENT blockquote %Block;>
2289+<!ATTLIST blockquote
2290+ %attrs;
2291+ cite %URI; #IMPLIED
2292+ >
2293+
2294+<!--=================== Inserted/Deleted Text ============================-->
2295+
2296+<!--
2297+ ins/del are allowed in block and inline content, but its
2298+ inappropriate to include block content within an ins element
2299+ occurring in inline content.
2300+-->
2301+<!ELEMENT ins %Flow;>
2302+<!ATTLIST ins
2303+ %attrs;
2304+ cite %URI; #IMPLIED
2305+ datetime %Datetime; #IMPLIED
2306+ >
2307+
2308+<!ELEMENT del %Flow;>
2309+<!ATTLIST del
2310+ %attrs;
2311+ cite %URI; #IMPLIED
2312+ datetime %Datetime; #IMPLIED
2313+ >
2314+
2315+<!--================== The Anchor Element ================================-->
2316+
2317+<!-- content is %Inline; except that anchors shouldn't be nested -->
2318+
2319+<!ELEMENT a %a.content;>
2320+<!ATTLIST a
2321+ %attrs;
2322+ %focus;
2323+ charset %Charset; #IMPLIED
2324+ type %ContentType; #IMPLIED
2325+ name NMTOKEN #IMPLIED
2326+ href %URI; #IMPLIED
2327+ hreflang %LanguageCode; #IMPLIED
2328+ rel %LinkTypes; #IMPLIED
2329+ rev %LinkTypes; #IMPLIED
2330+ shape %Shape; "rect"
2331+ coords %Coords; #IMPLIED
2332+ >
2333+
2334+<!--===================== Inline Elements ================================-->
2335+
2336+<!ELEMENT span %Inline;> <!-- generic language/style container -->
2337+<!ATTLIST span
2338+ %attrs;
2339+ >
2340+
2341+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
2342+<!ATTLIST bdo
2343+ %coreattrs;
2344+ %events;
2345+ lang %LanguageCode; #IMPLIED
2346+ xml:lang %LanguageCode; #IMPLIED
2347+ dir (ltr|rtl) #REQUIRED
2348+ >
2349+
2350+<!ELEMENT br EMPTY> <!-- forced line break -->
2351+<!ATTLIST br
2352+ %coreattrs;
2353+ >
2354+
2355+<!ELEMENT em %Inline;> <!-- emphasis -->
2356+<!ATTLIST em %attrs;>
2357+
2358+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
2359+<!ATTLIST strong %attrs;>
2360+
2361+<!ELEMENT dfn %Inline;> <!-- definitional -->
2362+<!ATTLIST dfn %attrs;>
2363+
2364+<!ELEMENT code %Inline;> <!-- program code -->
2365+<!ATTLIST code %attrs;>
2366+
2367+<!ELEMENT samp %Inline;> <!-- sample -->
2368+<!ATTLIST samp %attrs;>
2369+
2370+<!ELEMENT kbd %Inline;> <!-- something user would type -->
2371+<!ATTLIST kbd %attrs;>
2372+
2373+<!ELEMENT var %Inline;> <!-- variable -->
2374+<!ATTLIST var %attrs;>
2375+
2376+<!ELEMENT cite %Inline;> <!-- citation -->
2377+<!ATTLIST cite %attrs;>
2378+
2379+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
2380+<!ATTLIST abbr %attrs;>
2381+
2382+<!ELEMENT acronym %Inline;> <!-- acronym -->
2383+<!ATTLIST acronym %attrs;>
2384+
2385+<!ELEMENT q %Inline;> <!-- inlined quote -->
2386+<!ATTLIST q
2387+ %attrs;
2388+ cite %URI; #IMPLIED
2389+ >
2390+
2391+<!ELEMENT sub %Inline;> <!-- subscript -->
2392+<!ATTLIST sub %attrs;>
2393+
2394+<!ELEMENT sup %Inline;> <!-- superscript -->
2395+<!ATTLIST sup %attrs;>
2396+
2397+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
2398+<!ATTLIST tt %attrs;>
2399+
2400+<!ELEMENT i %Inline;> <!-- italic font -->
2401+<!ATTLIST i %attrs;>
2402+
2403+<!ELEMENT b %Inline;> <!-- bold font -->
2404+<!ATTLIST b %attrs;>
2405+
2406+<!ELEMENT big %Inline;> <!-- bigger font -->
2407+<!ATTLIST big %attrs;>
2408+
2409+<!ELEMENT small %Inline;> <!-- smaller font -->
2410+<!ATTLIST small %attrs;>
2411+
2412+<!--==================== Object ======================================-->
2413+<!--
2414+ object is used to embed objects as part of HTML pages.
2415+ param elements should precede other content. Parameters
2416+ can also be expressed as attribute/value pairs on the
2417+ object element itself when brevity is desired.
2418+-->
2419+
2420+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
2421+<!ATTLIST object
2422+ %attrs;
2423+ declare (declare) #IMPLIED
2424+ classid %URI; #IMPLIED
2425+ codebase %URI; #IMPLIED
2426+ data %URI; #IMPLIED
2427+ type %ContentType; #IMPLIED
2428+ codetype %ContentType; #IMPLIED
2429+ archive %UriList; #IMPLIED
2430+ standby %Text; #IMPLIED
2431+ height %Length; #IMPLIED
2432+ width %Length; #IMPLIED
2433+ usemap %URI; #IMPLIED
2434+ name NMTOKEN #IMPLIED
2435+ tabindex %Number; #IMPLIED
2436+ >
2437+
2438+<!--
2439+ param is used to supply a named property value.
2440+ In XML it would seem natural to follow RDF and support an
2441+ abbreviated syntax where the param elements are replaced
2442+ by attribute value pairs on the object start tag.
2443+-->
2444+<!ELEMENT param EMPTY>
2445+<!ATTLIST param
2446+ id ID #IMPLIED
2447+ name CDATA #IMPLIED
2448+ value CDATA #IMPLIED
2449+ valuetype (data|ref|object) "data"
2450+ type %ContentType; #IMPLIED
2451+ >
2452+
2453+<!--=================== Images ===========================================-->
2454+
2455+<!--
2456+ To avoid accessibility problems for people who aren't
2457+ able to see the image, you should provide a text
2458+ description using the alt and longdesc attributes.
2459+ In addition, avoid the use of server-side image maps.
2460+ Note that in this DTD there is no name attribute. That
2461+ is only available in the transitional and frameset DTD.
2462+-->
2463+
2464+<!ELEMENT img EMPTY>
2465+<!ATTLIST img
2466+ %attrs;
2467+ src %URI; #REQUIRED
2468+ alt %Text; #REQUIRED
2469+ longdesc %URI; #IMPLIED
2470+ height %Length; #IMPLIED
2471+ width %Length; #IMPLIED
2472+ usemap %URI; #IMPLIED
2473+ ismap (ismap) #IMPLIED
2474+ >
2475+
2476+<!-- usemap points to a map element which may be in this document
2477+ or an external document, although the latter is not widely supported -->
2478+
2479+<!--================== Client-side image maps ============================-->
2480+
2481+<!-- These can be placed in the same document or grouped in a
2482+ separate document although this isn't yet widely supported -->
2483+
2484+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
2485+<!ATTLIST map
2486+ %i18n;
2487+ %events;
2488+ id ID #REQUIRED
2489+ class CDATA #IMPLIED
2490+ style %StyleSheet; #IMPLIED
2491+ title %Text; #IMPLIED
2492+ name NMTOKEN #IMPLIED
2493+ >
2494+
2495+<!ELEMENT area EMPTY>
2496+<!ATTLIST area
2497+ %attrs;
2498+ %focus;
2499+ shape %Shape; "rect"
2500+ coords %Coords; #IMPLIED
2501+ href %URI; #IMPLIED
2502+ nohref (nohref) #IMPLIED
2503+ alt %Text; #REQUIRED
2504+ >
2505+
2506+<!--================ Forms ===============================================-->
2507+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
2508+
2509+<!ATTLIST form
2510+ %attrs;
2511+ action %URI; #REQUIRED
2512+ method (get|post) "get"
2513+ enctype %ContentType; "application/x-www-form-urlencoded"
2514+ onsubmit %Script; #IMPLIED
2515+ onreset %Script; #IMPLIED
2516+ accept %ContentTypes; #IMPLIED
2517+ accept-charset %Charsets; #IMPLIED
2518+ >
2519+
2520+<!--
2521+ Each label must not contain more than ONE field
2522+ Label elements shouldn't be nested.
2523+-->
2524+<!ELEMENT label %Inline;>
2525+<!ATTLIST label
2526+ %attrs;
2527+ for IDREF #IMPLIED
2528+ accesskey %Character; #IMPLIED
2529+ onfocus %Script; #IMPLIED
2530+ onblur %Script; #IMPLIED
2531+ >
2532+
2533+<!ENTITY % InputType
2534+ "(text | password | checkbox |
2535+ radio | submit | reset |
2536+ file | hidden | image | button)"
2537+ >
2538+
2539+<!-- the name attribute is required for all but submit & reset -->
2540+
2541+<!ELEMENT input EMPTY> <!-- form control -->
2542+<!ATTLIST input
2543+ %attrs;
2544+ %focus;
2545+ type %InputType; "text"
2546+ name CDATA #IMPLIED
2547+ value CDATA #IMPLIED
2548+ checked (checked) #IMPLIED
2549+ disabled (disabled) #IMPLIED
2550+ readonly (readonly) #IMPLIED
2551+ size CDATA #IMPLIED
2552+ maxlength %Number; #IMPLIED
2553+ src %URI; #IMPLIED
2554+ alt CDATA #IMPLIED
2555+ usemap %URI; #IMPLIED
2556+ onselect %Script; #IMPLIED
2557+ onchange %Script; #IMPLIED
2558+ accept %ContentTypes; #IMPLIED
2559+ >
2560+
2561+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
2562+<!ATTLIST select
2563+ %attrs;
2564+ name CDATA #IMPLIED
2565+ size %Number; #IMPLIED
2566+ multiple (multiple) #IMPLIED
2567+ disabled (disabled) #IMPLIED
2568+ tabindex %Number; #IMPLIED
2569+ onfocus %Script; #IMPLIED
2570+ onblur %Script; #IMPLIED
2571+ onchange %Script; #IMPLIED
2572+ >
2573+
2574+<!ELEMENT optgroup (option)+> <!-- option group -->
2575+<!ATTLIST optgroup
2576+ %attrs;
2577+ disabled (disabled) #IMPLIED
2578+ label %Text; #REQUIRED
2579+ >
2580+
2581+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
2582+<!ATTLIST option
2583+ %attrs;
2584+ selected (selected) #IMPLIED
2585+ disabled (disabled) #IMPLIED
2586+ label %Text; #IMPLIED
2587+ value CDATA #IMPLIED
2588+ >
2589+
2590+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
2591+<!ATTLIST textarea
2592+ %attrs;
2593+ %focus;
2594+ name CDATA #IMPLIED
2595+ rows %Number; #REQUIRED
2596+ cols %Number; #REQUIRED
2597+ disabled (disabled) #IMPLIED
2598+ readonly (readonly) #IMPLIED
2599+ onselect %Script; #IMPLIED
2600+ onchange %Script; #IMPLIED
2601+ >
2602+
2603+<!--
2604+ The fieldset element is used to group form fields.
2605+ Only one legend element should occur in the content
2606+ and if present should only be preceded by whitespace.
2607+-->
2608+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
2609+<!ATTLIST fieldset
2610+ %attrs;
2611+ >
2612+
2613+<!ELEMENT legend %Inline;> <!-- fieldset label -->
2614+<!ATTLIST legend
2615+ %attrs;
2616+ accesskey %Character; #IMPLIED
2617+ >
2618+
2619+<!--
2620+ Content is %Flow; excluding a, form and form controls
2621+-->
2622+<!ELEMENT button %button.content;> <!-- push button -->
2623+<!ATTLIST button
2624+ %attrs;
2625+ %focus;
2626+ name CDATA #IMPLIED
2627+ value CDATA #IMPLIED
2628+ type (button|submit|reset) "submit"
2629+ disabled (disabled) #IMPLIED
2630+ >
2631+
2632+<!--======================= Tables =======================================-->
2633+
2634+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
2635+
2636+<!--
2637+ The border attribute sets the thickness of the frame around the
2638+ table. The default units are screen pixels.
2639+
2640+ The frame attribute specifies which parts of the frame around
2641+ the table should be rendered. The values are not the same as
2642+ CALS to avoid a name clash with the valign attribute.
2643+-->
2644+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
2645+
2646+<!--
2647+ The rules attribute defines which rules to draw between cells:
2648+
2649+ If rules is absent then assume:
2650+ "none" if border is absent or border="0" otherwise "all"
2651+-->
2652+
2653+<!ENTITY % TRules "(none | groups | rows | cols | all)">
2654+
2655+<!-- horizontal alignment attributes for cell contents
2656+
2657+ char alignment char, e.g. char=':'
2658+ charoff offset for alignment char
2659+-->
2660+<!ENTITY % cellhalign
2661+ "align (left|center|right|justify|char) #IMPLIED
2662+ char %Character; #IMPLIED
2663+ charoff %Length; #IMPLIED"
2664+ >
2665+
2666+<!-- vertical alignment attributes for cell contents -->
2667+<!ENTITY % cellvalign
2668+ "valign (top|middle|bottom|baseline) #IMPLIED"
2669+ >
2670+
2671+<!ELEMENT table
2672+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
2673+<!ELEMENT caption %Inline;>
2674+<!ELEMENT thead (tr)+>
2675+<!ELEMENT tfoot (tr)+>
2676+<!ELEMENT tbody (tr)+>
2677+<!ELEMENT colgroup (col)*>
2678+<!ELEMENT col EMPTY>
2679+<!ELEMENT tr (th|td)+>
2680+<!ELEMENT th %Flow;>
2681+<!ELEMENT td %Flow;>
2682+
2683+<!ATTLIST table
2684+ %attrs;
2685+ summary %Text; #IMPLIED
2686+ width %Length; #IMPLIED
2687+ border %Pixels; #IMPLIED
2688+ frame %TFrame; #IMPLIED
2689+ rules %TRules; #IMPLIED
2690+ cellspacing %Length; #IMPLIED
2691+ cellpadding %Length; #IMPLIED
2692+ >
2693+
2694+<!ATTLIST caption
2695+ %attrs;
2696+ >
2697+
2698+<!--
2699+colgroup groups a set of col elements. It allows you to group
2700+several semantically related columns together.
2701+-->
2702+<!ATTLIST colgroup
2703+ %attrs;
2704+ span %Number; "1"
2705+ width %MultiLength; #IMPLIED
2706+ %cellhalign;
2707+ %cellvalign;
2708+ >
2709+
2710+<!--
2711+ col elements define the alignment properties for cells in
2712+ one or more columns.
2713+
2714+ The width attribute specifies the width of the columns, e.g.
2715+
2716+ width=64 width in screen pixels
2717+ width=0.5* relative width of 0.5
2718+
2719+ The span attribute causes the attributes of one
2720+ col element to apply to more than one column.
2721+-->
2722+<!ATTLIST col
2723+ %attrs;
2724+ span %Number; "1"
2725+ width %MultiLength; #IMPLIED
2726+ %cellhalign;
2727+ %cellvalign;
2728+ >
2729+
2730+<!--
2731+ Use thead to duplicate headers when breaking table
2732+ across page boundaries, or for static headers when
2733+ tbody sections are rendered in scrolling panel.
2734+
2735+ Use tfoot to duplicate footers when breaking table
2736+ across page boundaries, or for static footers when
2737+ tbody sections are rendered in scrolling panel.
2738+
2739+ Use multiple tbody sections when rules are needed
2740+ between groups of table rows.
2741+-->
2742+<!ATTLIST thead
2743+ %attrs;
2744+ %cellhalign;
2745+ %cellvalign;
2746+ >
2747+
2748+<!ATTLIST tfoot
2749+ %attrs;
2750+ %cellhalign;
2751+ %cellvalign;
2752+ >
2753+
2754+<!ATTLIST tbody
2755+ %attrs;
2756+ %cellhalign;
2757+ %cellvalign;
2758+ >
2759+
2760+<!ATTLIST tr
2761+ %attrs;
2762+ %cellhalign;
2763+ %cellvalign;
2764+ >
2765+
2766+
2767+<!-- Scope is simpler than headers attribute for common tables -->
2768+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
2769+
2770+<!-- th is for headers, td for data and for cells acting as both -->
2771+
2772+<!ATTLIST th
2773+ %attrs;
2774+ abbr %Text; #IMPLIED
2775+ axis CDATA #IMPLIED
2776+ headers IDREFS #IMPLIED
2777+ scope %Scope; #IMPLIED
2778+ rowspan %Number; "1"
2779+ colspan %Number; "1"
2780+ %cellhalign;
2781+ %cellvalign;
2782+ >
2783+
2784+<!ATTLIST td
2785+ %attrs;
2786+ abbr %Text; #IMPLIED
2787+ axis CDATA #IMPLIED
2788+ headers IDREFS #IMPLIED
2789+ scope %Scope; #IMPLIED
2790+ rowspan %Number; "1"
2791+ colspan %Number; "1"
2792+ %cellhalign;
2793+ %cellvalign;
2794+ >
2795+
2796
2797=== added file 'schemas/xhtml/xhtml1-transitional.dtd'
2798--- schemas/xhtml/xhtml1-transitional.dtd 1970-01-01 00:00:00 +0000
2799+++ schemas/xhtml/xhtml1-transitional.dtd 2012-02-01 16:41:17 +0000
2800@@ -0,0 +1,1201 @@
2801+<!--
2802+ Extensible HTML version 1.0 Transitional DTD
2803+
2804+ This is the same as HTML 4 Transitional except for
2805+ changes due to the differences between XML and SGML.
2806+
2807+ Namespace = http://www.w3.org/1999/xhtml
2808+
2809+ For further information, see: http://www.w3.org/TR/xhtml1
2810+
2811+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
2812+ All Rights Reserved.
2813+
2814+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
2815+
2816+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2817+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
2818+
2819+ $Revision: 1.27 $
2820+ $Date: 2002/08/01 18:16:48 $
2821+
2822+-->
2823+
2824+<!--================ Character mnemonic entities =========================-->
2825+
2826+<!ENTITY % HTMLlat1 PUBLIC
2827+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
2828+ "xhtml-lat1.ent">
2829+%HTMLlat1;
2830+
2831+<!ENTITY % HTMLsymbol PUBLIC
2832+ "-//W3C//ENTITIES Symbols for XHTML//EN"
2833+ "xhtml-symbol.ent">
2834+%HTMLsymbol;
2835+
2836+<!ENTITY % HTMLspecial PUBLIC
2837+ "-//W3C//ENTITIES Special for XHTML//EN"
2838+ "xhtml-special.ent">
2839+%HTMLspecial;
2840+
2841+<!--================== Imported Names ====================================-->
2842+
2843+<!ENTITY % ContentType "CDATA">
2844+ <!-- media type, as per [RFC2045] -->
2845+
2846+<!ENTITY % ContentTypes "CDATA">
2847+ <!-- comma-separated list of media types, as per [RFC2045] -->
2848+
2849+<!ENTITY % Charset "CDATA">
2850+ <!-- a character encoding, as per [RFC2045] -->
2851+
2852+<!ENTITY % Charsets "CDATA">
2853+ <!-- a space separated list of character encodings, as per [RFC2045] -->
2854+
2855+<!ENTITY % LanguageCode "NMTOKEN">
2856+ <!-- a language code, as per [RFC3066] -->
2857+
2858+<!ENTITY % Character "CDATA">
2859+ <!-- a single character, as per section 2.2 of [XML] -->
2860+
2861+<!ENTITY % Number "CDATA">
2862+ <!-- one or more digits -->
2863+
2864+<!ENTITY % LinkTypes "CDATA">
2865+ <!-- space-separated list of link types -->
2866+
2867+<!ENTITY % MediaDesc "CDATA">
2868+ <!-- single or comma-separated list of media descriptors -->
2869+
2870+<!ENTITY % URI "CDATA">
2871+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
2872+
2873+<!ENTITY % UriList "CDATA">
2874+ <!-- a space separated list of Uniform Resource Identifiers -->
2875+
2876+<!ENTITY % Datetime "CDATA">
2877+ <!-- date and time information. ISO date format -->
2878+
2879+<!ENTITY % Script "CDATA">
2880+ <!-- script expression -->
2881+
2882+<!ENTITY % StyleSheet "CDATA">
2883+ <!-- style sheet data -->
2884+
2885+<!ENTITY % Text "CDATA">
2886+ <!-- used for titles etc. -->
2887+
2888+<!ENTITY % FrameTarget "NMTOKEN">
2889+ <!-- render in this frame -->
2890+
2891+<!ENTITY % Length "CDATA">
2892+ <!-- nn for pixels or nn% for percentage length -->
2893+
2894+<!ENTITY % MultiLength "CDATA">
2895+ <!-- pixel, percentage, or relative -->
2896+
2897+<!ENTITY % Pixels "CDATA">
2898+ <!-- integer representing length in pixels -->
2899+
2900+<!-- these are used for image maps -->
2901+
2902+<!ENTITY % Shape "(rect|circle|poly|default)">
2903+
2904+<!ENTITY % Coords "CDATA">
2905+ <!-- comma separated list of lengths -->
2906+
2907+<!-- used for object, applet, img, input and iframe -->
2908+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
2909+
2910+<!-- a color using sRGB: #RRGGBB as Hex values -->
2911+<!ENTITY % Color "CDATA">
2912+
2913+<!-- There are also 16 widely known color names with their sRGB values:
2914+
2915+ Black = #000000 Green = #008000
2916+ Silver = #C0C0C0 Lime = #00FF00
2917+ Gray = #808080 Olive = #808000
2918+ White = #FFFFFF Yellow = #FFFF00
2919+ Maroon = #800000 Navy = #000080
2920+ Red = #FF0000 Blue = #0000FF
2921+ Purple = #800080 Teal = #008080
2922+ Fuchsia= #FF00FF Aqua = #00FFFF
2923+-->
2924+
2925+<!--=================== Generic Attributes ===============================-->
2926+
2927+<!-- core attributes common to most elements
2928+ id document-wide unique id
2929+ class space separated list of classes
2930+ style associated style info
2931+ title advisory title/amplification
2932+-->
2933+<!ENTITY % coreattrs
2934+ "id ID #IMPLIED
2935+ class CDATA #IMPLIED
2936+ style %StyleSheet; #IMPLIED
2937+ title %Text; #IMPLIED"
2938+ >
2939+
2940+<!-- internationalization attributes
2941+ lang language code (backwards compatible)
2942+ xml:lang language code (as per XML 1.0 spec)
2943+ dir direction for weak/neutral text
2944+-->
2945+<!ENTITY % i18n
2946+ "lang %LanguageCode; #IMPLIED
2947+ xml:lang %LanguageCode; #IMPLIED
2948+ dir (ltr|rtl) #IMPLIED"
2949+ >
2950+
2951+<!-- attributes for common UI events
2952+ onclick a pointer button was clicked
2953+ ondblclick a pointer button was double clicked
2954+ onmousedown a pointer button was pressed down
2955+ onmouseup a pointer button was released
2956+ onmousemove a pointer was moved onto the element
2957+ onmouseout a pointer was moved away from the element
2958+ onkeypress a key was pressed and released
2959+ onkeydown a key was pressed down
2960+ onkeyup a key was released
2961+-->
2962+<!ENTITY % events
2963+ "onclick %Script; #IMPLIED
2964+ ondblclick %Script; #IMPLIED
2965+ onmousedown %Script; #IMPLIED
2966+ onmouseup %Script; #IMPLIED
2967+ onmouseover %Script; #IMPLIED
2968+ onmousemove %Script; #IMPLIED
2969+ onmouseout %Script; #IMPLIED
2970+ onkeypress %Script; #IMPLIED
2971+ onkeydown %Script; #IMPLIED
2972+ onkeyup %Script; #IMPLIED"
2973+ >
2974+
2975+<!-- attributes for elements that can get the focus
2976+ accesskey accessibility key character
2977+ tabindex position in tabbing order
2978+ onfocus the element got the focus
2979+ onblur the element lost the focus
2980+-->
2981+<!ENTITY % focus
2982+ "accesskey %Character; #IMPLIED
2983+ tabindex %Number; #IMPLIED
2984+ onfocus %Script; #IMPLIED
2985+ onblur %Script; #IMPLIED"
2986+ >
2987+
2988+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
2989+
2990+<!-- text alignment for p, div, h1-h6. The default is
2991+ align="left" for ltr headings, "right" for rtl -->
2992+
2993+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
2994+
2995+<!--=================== Text Elements ====================================-->
2996+
2997+<!ENTITY % special.extra
2998+ "object | applet | img | map | iframe">
2999+
3000+<!ENTITY % special.basic
3001+ "br | span | bdo">
3002+
3003+<!ENTITY % special
3004+ "%special.basic; | %special.extra;">
3005+
3006+<!ENTITY % fontstyle.extra "big | small | font | basefont">
3007+
3008+<!ENTITY % fontstyle.basic "tt | i | b | u
3009+ | s | strike ">
3010+
3011+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
3012+
3013+<!ENTITY % phrase.extra "sub | sup">
3014+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
3015+ samp | kbd | var | cite | abbr | acronym">
3016+
3017+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
3018+
3019+<!ENTITY % inline.forms "input | select | textarea | label | button">
3020+
3021+<!-- these can occur at block or inline level -->
3022+<!ENTITY % misc.inline "ins | del | script">
3023+
3024+<!-- these can only occur at block level -->
3025+<!ENTITY % misc "noscript | %misc.inline;">
3026+
3027+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
3028+
3029+<!-- %Inline; covers inline or "text-level" elements -->
3030+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
3031+
3032+<!--================== Block level elements ==============================-->
3033+
3034+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
3035+<!ENTITY % lists "ul | ol | dl | menu | dir">
3036+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
3037+
3038+<!ENTITY % block
3039+ "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
3040+
3041+<!-- %Flow; mixes block and inline and is used for list items etc. -->
3042+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
3043+
3044+<!--================== Content models for exclusions =====================-->
3045+
3046+<!-- a elements use %Inline; excluding a -->
3047+
3048+<!ENTITY % a.content
3049+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
3050+
3051+<!-- pre uses %Inline excluding img, object, applet, big, small,
3052+ font, or basefont -->
3053+
3054+<!ENTITY % pre.content
3055+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
3056+ %inline.forms; | %misc.inline;)*">
3057+
3058+<!-- form uses %Flow; excluding form -->
3059+
3060+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
3061+
3062+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
3063+
3064+<!ENTITY % button.content
3065+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
3066+ table | br | span | bdo | object | applet | img | map |
3067+ %fontstyle; | %phrase; | %misc;)*">
3068+
3069+<!--================ Document Structure ==================================-->
3070+
3071+<!-- the namespace URI designates the document profile -->
3072+
3073+<!ELEMENT html (head, body)>
3074+<!ATTLIST html
3075+ %i18n;
3076+ id ID #IMPLIED
3077+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
3078+ >
3079+
3080+<!--================ Document Head =======================================-->
3081+
3082+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
3083+
3084+<!-- content model is %head.misc; combined with a single
3085+ title and an optional base element in any order -->
3086+
3087+<!ELEMENT head (%head.misc;,
3088+ ((title, %head.misc;, (base, %head.misc;)?) |
3089+ (base, %head.misc;, (title, %head.misc;))))>
3090+
3091+<!ATTLIST head
3092+ %i18n;
3093+ id ID #IMPLIED
3094+ profile %URI; #IMPLIED
3095+ >
3096+
3097+<!-- The title element is not considered part of the flow of text.
3098+ It should be displayed, for example as the page header or
3099+ window title. Exactly one title is required per document.
3100+ -->
3101+<!ELEMENT title (#PCDATA)>
3102+<!ATTLIST title
3103+ %i18n;
3104+ id ID #IMPLIED
3105+ >
3106+
3107+<!-- document base URI -->
3108+
3109+<!ELEMENT base EMPTY>
3110+<!ATTLIST base
3111+ id ID #IMPLIED
3112+ href %URI; #IMPLIED
3113+ target %FrameTarget; #IMPLIED
3114+ >
3115+
3116+<!-- generic metainformation -->
3117+<!ELEMENT meta EMPTY>
3118+<!ATTLIST meta
3119+ %i18n;
3120+ id ID #IMPLIED
3121+ http-equiv CDATA #IMPLIED
3122+ name CDATA #IMPLIED
3123+ content CDATA #REQUIRED
3124+ scheme CDATA #IMPLIED
3125+ >
3126+
3127+<!--
3128+ Relationship values can be used in principle:
3129+
3130+ a) for document specific toolbars/menus when used
3131+ with the link element in document head e.g.
3132+ start, contents, previous, next, index, end, help
3133+ b) to link to a separate style sheet (rel="stylesheet")
3134+ c) to make a link to a script (rel="script")
3135+ d) by stylesheets to control how collections of
3136+ html nodes are rendered into printed documents
3137+ e) to make a link to a printable version of this document
3138+ e.g. a PostScript or PDF version (rel="alternate" media="print")
3139+-->
3140+
3141+<!ELEMENT link EMPTY>
3142+<!ATTLIST link
3143+ %attrs;
3144+ charset %Charset; #IMPLIED
3145+ href %URI; #IMPLIED
3146+ hreflang %LanguageCode; #IMPLIED
3147+ type %ContentType; #IMPLIED
3148+ rel %LinkTypes; #IMPLIED
3149+ rev %LinkTypes; #IMPLIED
3150+ media %MediaDesc; #IMPLIED
3151+ target %FrameTarget; #IMPLIED
3152+ >
3153+
3154+<!-- style info, which may include CDATA sections -->
3155+<!ELEMENT style (#PCDATA)>
3156+<!ATTLIST style
3157+ %i18n;
3158+ id ID #IMPLIED
3159+ type %ContentType; #REQUIRED
3160+ media %MediaDesc; #IMPLIED
3161+ title %Text; #IMPLIED
3162+ xml:space (preserve) #FIXED 'preserve'
3163+ >
3164+
3165+<!-- script statements, which may include CDATA sections -->
3166+<!ELEMENT script (#PCDATA)>
3167+<!ATTLIST script
3168+ id ID #IMPLIED
3169+ charset %Charset; #IMPLIED
3170+ type %ContentType; #REQUIRED
3171+ language CDATA #IMPLIED
3172+ src %URI; #IMPLIED
3173+ defer (defer) #IMPLIED
3174+ xml:space (preserve) #FIXED 'preserve'
3175+ >
3176+
3177+<!-- alternate content container for non script-based rendering -->
3178+
3179+<!ELEMENT noscript %Flow;>
3180+<!ATTLIST noscript
3181+ %attrs;
3182+ >
3183+
3184+<!--======================= Frames =======================================-->
3185+
3186+<!-- inline subwindow -->
3187+
3188+<!ELEMENT iframe %Flow;>
3189+<!ATTLIST iframe
3190+ %coreattrs;
3191+ longdesc %URI; #IMPLIED
3192+ name NMTOKEN #IMPLIED
3193+ src %URI; #IMPLIED
3194+ frameborder (1|0) "1"
3195+ marginwidth %Pixels; #IMPLIED
3196+ marginheight %Pixels; #IMPLIED
3197+ scrolling (yes|no|auto) "auto"
3198+ align %ImgAlign; #IMPLIED
3199+ height %Length; #IMPLIED
3200+ width %Length; #IMPLIED
3201+ >
3202+
3203+<!-- alternate content container for non frame-based rendering -->
3204+
3205+<!ELEMENT noframes %Flow;>
3206+<!ATTLIST noframes
3207+ %attrs;
3208+ >
3209+
3210+<!--=================== Document Body ====================================-->
3211+
3212+<!ELEMENT body %Flow;>
3213+<!ATTLIST body
3214+ %attrs;
3215+ onload %Script; #IMPLIED
3216+ onunload %Script; #IMPLIED
3217+ background %URI; #IMPLIED
3218+ bgcolor %Color; #IMPLIED
3219+ text %Color; #IMPLIED
3220+ link %Color; #IMPLIED
3221+ vlink %Color; #IMPLIED
3222+ alink %Color; #IMPLIED
3223+ >
3224+
3225+<!ELEMENT div %Flow;> <!-- generic language/style container -->
3226+<!ATTLIST div
3227+ %attrs;
3228+ %TextAlign;
3229+ >
3230+
3231+<!--=================== Paragraphs =======================================-->
3232+
3233+<!ELEMENT p %Inline;>
3234+<!ATTLIST p
3235+ %attrs;
3236+ %TextAlign;
3237+ >
3238+
3239+<!--=================== Headings =========================================-->
3240+
3241+<!--
3242+ There are six levels of headings from h1 (the most important)
3243+ to h6 (the least important).
3244+-->
3245+
3246+<!ELEMENT h1 %Inline;>
3247+<!ATTLIST h1
3248+ %attrs;
3249+ %TextAlign;
3250+ >
3251+
3252+<!ELEMENT h2 %Inline;>
3253+<!ATTLIST h2
3254+ %attrs;
3255+ %TextAlign;
3256+ >
3257+
3258+<!ELEMENT h3 %Inline;>
3259+<!ATTLIST h3
3260+ %attrs;
3261+ %TextAlign;
3262+ >
3263+
3264+<!ELEMENT h4 %Inline;>
3265+<!ATTLIST h4
3266+ %attrs;
3267+ %TextAlign;
3268+ >
3269+
3270+<!ELEMENT h5 %Inline;>
3271+<!ATTLIST h5
3272+ %attrs;
3273+ %TextAlign;
3274+ >
3275+
3276+<!ELEMENT h6 %Inline;>
3277+<!ATTLIST h6
3278+ %attrs;
3279+ %TextAlign;
3280+ >
3281+
3282+<!--=================== Lists ============================================-->
3283+
3284+<!-- Unordered list bullet styles -->
3285+
3286+<!ENTITY % ULStyle "(disc|square|circle)">
3287+
3288+<!-- Unordered list -->
3289+
3290+<!ELEMENT ul (li)+>
3291+<!ATTLIST ul
3292+ %attrs;
3293+ type %ULStyle; #IMPLIED
3294+ compact (compact) #IMPLIED
3295+ >
3296+
3297+<!-- Ordered list numbering style
3298+
3299+ 1 arabic numbers 1, 2, 3, ...
3300+ a lower alpha a, b, c, ...
3301+ A upper alpha A, B, C, ...
3302+ i lower roman i, ii, iii, ...
3303+ I upper roman I, II, III, ...
3304+
3305+ The style is applied to the sequence number which by default
3306+ is reset to 1 for the first list item in an ordered list.
3307+-->
3308+<!ENTITY % OLStyle "CDATA">
3309+
3310+<!-- Ordered (numbered) list -->
3311+
3312+<!ELEMENT ol (li)+>
3313+<!ATTLIST ol
3314+ %attrs;
3315+ type %OLStyle; #IMPLIED
3316+ compact (compact) #IMPLIED
3317+ start %Number; #IMPLIED
3318+ >
3319+
3320+<!-- single column list (DEPRECATED) -->
3321+<!ELEMENT menu (li)+>
3322+<!ATTLIST menu
3323+ %attrs;
3324+ compact (compact) #IMPLIED
3325+ >
3326+
3327+<!-- multiple column list (DEPRECATED) -->
3328+<!ELEMENT dir (li)+>
3329+<!ATTLIST dir
3330+ %attrs;
3331+ compact (compact) #IMPLIED
3332+ >
3333+
3334+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
3335+<!ENTITY % LIStyle "CDATA">
3336+
3337+<!-- list item -->
3338+
3339+<!ELEMENT li %Flow;>
3340+<!ATTLIST li
3341+ %attrs;
3342+ type %LIStyle; #IMPLIED
3343+ value %Number; #IMPLIED
3344+ >
3345+
3346+<!-- definition lists - dt for term, dd for its definition -->
3347+
3348+<!ELEMENT dl (dt|dd)+>
3349+<!ATTLIST dl
3350+ %attrs;
3351+ compact (compact) #IMPLIED
3352+ >
3353+
3354+<!ELEMENT dt %Inline;>
3355+<!ATTLIST dt
3356+ %attrs;
3357+ >
3358+
3359+<!ELEMENT dd %Flow;>
3360+<!ATTLIST dd
3361+ %attrs;
3362+ >
3363+
3364+<!--=================== Address ==========================================-->
3365+
3366+<!-- information on author -->
3367+
3368+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
3369+<!ATTLIST address
3370+ %attrs;
3371+ >
3372+
3373+<!--=================== Horizontal Rule ==================================-->
3374+
3375+<!ELEMENT hr EMPTY>
3376+<!ATTLIST hr
3377+ %attrs;
3378+ align (left|center|right) #IMPLIED
3379+ noshade (noshade) #IMPLIED
3380+ size %Pixels; #IMPLIED
3381+ width %Length; #IMPLIED
3382+ >
3383+
3384+<!--=================== Preformatted Text ================================-->
3385+
3386+<!-- content is %Inline; excluding
3387+ "img|object|applet|big|small|sub|sup|font|basefont" -->
3388+
3389+<!ELEMENT pre %pre.content;>
3390+<!ATTLIST pre
3391+ %attrs;
3392+ width %Number; #IMPLIED
3393+ xml:space (preserve) #FIXED 'preserve'
3394+ >
3395+
3396+<!--=================== Block-like Quotes ================================-->
3397+
3398+<!ELEMENT blockquote %Flow;>
3399+<!ATTLIST blockquote
3400+ %attrs;
3401+ cite %URI; #IMPLIED
3402+ >
3403+
3404+<!--=================== Text alignment ===================================-->
3405+
3406+<!-- center content -->
3407+<!ELEMENT center %Flow;>
3408+<!ATTLIST center
3409+ %attrs;
3410+ >
3411+
3412+<!--=================== Inserted/Deleted Text ============================-->
3413+
3414+<!--
3415+ ins/del are allowed in block and inline content, but its
3416+ inappropriate to include block content within an ins element
3417+ occurring in inline content.
3418+-->
3419+<!ELEMENT ins %Flow;>
3420+<!ATTLIST ins
3421+ %attrs;
3422+ cite %URI; #IMPLIED
3423+ datetime %Datetime; #IMPLIED
3424+ >
3425+
3426+<!ELEMENT del %Flow;>
3427+<!ATTLIST del
3428+ %attrs;
3429+ cite %URI; #IMPLIED
3430+ datetime %Datetime; #IMPLIED
3431+ >
3432+
3433+<!--================== The Anchor Element ================================-->
3434+
3435+<!-- content is %Inline; except that anchors shouldn't be nested -->
3436+
3437+<!ELEMENT a %a.content;>
3438+<!ATTLIST a
3439+ %attrs;
3440+ %focus;
3441+ charset %Charset; #IMPLIED
3442+ type %ContentType; #IMPLIED
3443+ name NMTOKEN #IMPLIED
3444+ href %URI; #IMPLIED
3445+ hreflang %LanguageCode; #IMPLIED
3446+ rel %LinkTypes; #IMPLIED
3447+ rev %LinkTypes; #IMPLIED
3448+ shape %Shape; "rect"
3449+ coords %Coords; #IMPLIED
3450+ target %FrameTarget; #IMPLIED
3451+ >
3452+
3453+<!--===================== Inline Elements ================================-->
3454+
3455+<!ELEMENT span %Inline;> <!-- generic language/style container -->
3456+<!ATTLIST span
3457+ %attrs;
3458+ >
3459+
3460+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
3461+<!ATTLIST bdo
3462+ %coreattrs;
3463+ %events;
3464+ lang %LanguageCode; #IMPLIED
3465+ xml:lang %LanguageCode; #IMPLIED
3466+ dir (ltr|rtl) #REQUIRED
3467+ >
3468+
3469+<!ELEMENT br EMPTY> <!-- forced line break -->
3470+<!ATTLIST br
3471+ %coreattrs;
3472+ clear (left|all|right|none) "none"
3473+ >
3474+
3475+<!ELEMENT em %Inline;> <!-- emphasis -->
3476+<!ATTLIST em %attrs;>
3477+
3478+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
3479+<!ATTLIST strong %attrs;>
3480+
3481+<!ELEMENT dfn %Inline;> <!-- definitional -->
3482+<!ATTLIST dfn %attrs;>
3483+
3484+<!ELEMENT code %Inline;> <!-- program code -->
3485+<!ATTLIST code %attrs;>
3486+
3487+<!ELEMENT samp %Inline;> <!-- sample -->
3488+<!ATTLIST samp %attrs;>
3489+
3490+<!ELEMENT kbd %Inline;> <!-- something user would type -->
3491+<!ATTLIST kbd %attrs;>
3492+
3493+<!ELEMENT var %Inline;> <!-- variable -->
3494+<!ATTLIST var %attrs;>
3495+
3496+<!ELEMENT cite %Inline;> <!-- citation -->
3497+<!ATTLIST cite %attrs;>
3498+
3499+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
3500+<!ATTLIST abbr %attrs;>
3501+
3502+<!ELEMENT acronym %Inline;> <!-- acronym -->
3503+<!ATTLIST acronym %attrs;>
3504+
3505+<!ELEMENT q %Inline;> <!-- inlined quote -->
3506+<!ATTLIST q
3507+ %attrs;
3508+ cite %URI; #IMPLIED
3509+ >
3510+
3511+<!ELEMENT sub %Inline;> <!-- subscript -->
3512+<!ATTLIST sub %attrs;>
3513+
3514+<!ELEMENT sup %Inline;> <!-- superscript -->
3515+<!ATTLIST sup %attrs;>
3516+
3517+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
3518+<!ATTLIST tt %attrs;>
3519+
3520+<!ELEMENT i %Inline;> <!-- italic font -->
3521+<!ATTLIST i %attrs;>
3522+
3523+<!ELEMENT b %Inline;> <!-- bold font -->
3524+<!ATTLIST b %attrs;>
3525+
3526+<!ELEMENT big %Inline;> <!-- bigger font -->
3527+<!ATTLIST big %attrs;>
3528+
3529+<!ELEMENT small %Inline;> <!-- smaller font -->
3530+<!ATTLIST small %attrs;>
3531+
3532+<!ELEMENT u %Inline;> <!-- underline -->
3533+<!ATTLIST u %attrs;>
3534+
3535+<!ELEMENT s %Inline;> <!-- strike-through -->
3536+<!ATTLIST s %attrs;>
3537+
3538+<!ELEMENT strike %Inline;> <!-- strike-through -->
3539+<!ATTLIST strike %attrs;>
3540+
3541+<!ELEMENT basefont EMPTY> <!-- base font size -->
3542+<!ATTLIST basefont
3543+ id ID #IMPLIED
3544+ size CDATA #REQUIRED
3545+ color %Color; #IMPLIED
3546+ face CDATA #IMPLIED
3547+ >
3548+
3549+<!ELEMENT font %Inline;> <!-- local change to font -->
3550+<!ATTLIST font
3551+ %coreattrs;
3552+ %i18n;
3553+ size CDATA #IMPLIED
3554+ color %Color; #IMPLIED
3555+ face CDATA #IMPLIED
3556+ >
3557+
3558+<!--==================== Object ======================================-->
3559+<!--
3560+ object is used to embed objects as part of HTML pages.
3561+ param elements should precede other content. Parameters
3562+ can also be expressed as attribute/value pairs on the
3563+ object element itself when brevity is desired.
3564+-->
3565+
3566+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
3567+<!ATTLIST object
3568+ %attrs;
3569+ declare (declare) #IMPLIED
3570+ classid %URI; #IMPLIED
3571+ codebase %URI; #IMPLIED
3572+ data %URI; #IMPLIED
3573+ type %ContentType; #IMPLIED
3574+ codetype %ContentType; #IMPLIED
3575+ archive %UriList; #IMPLIED
3576+ standby %Text; #IMPLIED
3577+ height %Length; #IMPLIED
3578+ width %Length; #IMPLIED
3579+ usemap %URI; #IMPLIED
3580+ name NMTOKEN #IMPLIED
3581+ tabindex %Number; #IMPLIED
3582+ align %ImgAlign; #IMPLIED
3583+ border %Pixels; #IMPLIED
3584+ hspace %Pixels; #IMPLIED
3585+ vspace %Pixels; #IMPLIED
3586+ >
3587+
3588+<!--
3589+ param is used to supply a named property value.
3590+ In XML it would seem natural to follow RDF and support an
3591+ abbreviated syntax where the param elements are replaced
3592+ by attribute value pairs on the object start tag.
3593+-->
3594+<!ELEMENT param EMPTY>
3595+<!ATTLIST param
3596+ id ID #IMPLIED
3597+ name CDATA #REQUIRED
3598+ value CDATA #IMPLIED
3599+ valuetype (data|ref|object) "data"
3600+ type %ContentType; #IMPLIED
3601+ >
3602+
3603+<!--=================== Java applet ==================================-->
3604+<!--
3605+ One of code or object attributes must be present.
3606+ Place param elements before other content.
3607+-->
3608+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
3609+<!ATTLIST applet
3610+ %coreattrs;
3611+ codebase %URI; #IMPLIED
3612+ archive CDATA #IMPLIED
3613+ code CDATA #IMPLIED
3614+ object CDATA #IMPLIED
3615+ alt %Text; #IMPLIED
3616+ name NMTOKEN #IMPLIED
3617+ width %Length; #REQUIRED
3618+ height %Length; #REQUIRED
3619+ align %ImgAlign; #IMPLIED
3620+ hspace %Pixels; #IMPLIED
3621+ vspace %Pixels; #IMPLIED
3622+ >
3623+
3624+<!--=================== Images ===========================================-->
3625+
3626+<!--
3627+ To avoid accessibility problems for people who aren't
3628+ able to see the image, you should provide a text
3629+ description using the alt and longdesc attributes.
3630+ In addition, avoid the use of server-side image maps.
3631+-->
3632+
3633+<!ELEMENT img EMPTY>
3634+<!ATTLIST img
3635+ %attrs;
3636+ src %URI; #REQUIRED
3637+ alt %Text; #REQUIRED
3638+ name NMTOKEN #IMPLIED
3639+ longdesc %URI; #IMPLIED
3640+ height %Length; #IMPLIED
3641+ width %Length; #IMPLIED
3642+ usemap %URI; #IMPLIED
3643+ ismap (ismap) #IMPLIED
3644+ align %ImgAlign; #IMPLIED
3645+ border %Length; #IMPLIED
3646+ hspace %Pixels; #IMPLIED
3647+ vspace %Pixels; #IMPLIED
3648+ >
3649+
3650+<!-- usemap points to a map element which may be in this document
3651+ or an external document, although the latter is not widely supported -->
3652+
3653+<!--================== Client-side image maps ============================-->
3654+
3655+<!-- These can be placed in the same document or grouped in a
3656+ separate document although this isn't yet widely supported -->
3657+
3658+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
3659+<!ATTLIST map
3660+ %i18n;
3661+ %events;
3662+ id ID #REQUIRED
3663+ class CDATA #IMPLIED
3664+ style %StyleSheet; #IMPLIED
3665+ title %Text; #IMPLIED
3666+ name CDATA #IMPLIED
3667+ >
3668+
3669+<!ELEMENT area EMPTY>
3670+<!ATTLIST area
3671+ %attrs;
3672+ %focus;
3673+ shape %Shape; "rect"
3674+ coords %Coords; #IMPLIED
3675+ href %URI; #IMPLIED
3676+ nohref (nohref) #IMPLIED
3677+ alt %Text; #REQUIRED
3678+ target %FrameTarget; #IMPLIED
3679+ >
3680+
3681+<!--================ Forms ===============================================-->
3682+
3683+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
3684+
3685+<!ATTLIST form
3686+ %attrs;
3687+ action %URI; #REQUIRED
3688+ method (get|post) "get"
3689+ name NMTOKEN #IMPLIED
3690+ enctype %ContentType; "application/x-www-form-urlencoded"
3691+ onsubmit %Script; #IMPLIED
3692+ onreset %Script; #IMPLIED
3693+ accept %ContentTypes; #IMPLIED
3694+ accept-charset %Charsets; #IMPLIED
3695+ target %FrameTarget; #IMPLIED
3696+ >
3697+
3698+<!--
3699+ Each label must not contain more than ONE field
3700+ Label elements shouldn't be nested.
3701+-->
3702+<!ELEMENT label %Inline;>
3703+<!ATTLIST label
3704+ %attrs;
3705+ for IDREF #IMPLIED
3706+ accesskey %Character; #IMPLIED
3707+ onfocus %Script; #IMPLIED
3708+ onblur %Script; #IMPLIED
3709+ >
3710+
3711+<!ENTITY % InputType
3712+ "(text | password | checkbox |
3713+ radio | submit | reset |
3714+ file | hidden | image | button)"
3715+ >
3716+
3717+<!-- the name attribute is required for all but submit & reset -->
3718+
3719+<!ELEMENT input EMPTY> <!-- form control -->
3720+<!ATTLIST input
3721+ %attrs;
3722+ %focus;
3723+ type %InputType; "text"
3724+ name CDATA #IMPLIED
3725+ value CDATA #IMPLIED
3726+ checked (checked) #IMPLIED
3727+ disabled (disabled) #IMPLIED
3728+ readonly (readonly) #IMPLIED
3729+ size CDATA #IMPLIED
3730+ maxlength %Number; #IMPLIED
3731+ src %URI; #IMPLIED
3732+ alt CDATA #IMPLIED
3733+ usemap %URI; #IMPLIED
3734+ onselect %Script; #IMPLIED
3735+ onchange %Script; #IMPLIED
3736+ accept %ContentTypes; #IMPLIED
3737+ align %ImgAlign; #IMPLIED
3738+ >
3739+
3740+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
3741+<!ATTLIST select
3742+ %attrs;
3743+ name CDATA #IMPLIED
3744+ size %Number; #IMPLIED
3745+ multiple (multiple) #IMPLIED
3746+ disabled (disabled) #IMPLIED
3747+ tabindex %Number; #IMPLIED
3748+ onfocus %Script; #IMPLIED
3749+ onblur %Script; #IMPLIED
3750+ onchange %Script; #IMPLIED
3751+ >
3752+
3753+<!ELEMENT optgroup (option)+> <!-- option group -->
3754+<!ATTLIST optgroup
3755+ %attrs;
3756+ disabled (disabled) #IMPLIED
3757+ label %Text; #REQUIRED
3758+ >
3759+
3760+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
3761+<!ATTLIST option
3762+ %attrs;
3763+ selected (selected) #IMPLIED
3764+ disabled (disabled) #IMPLIED
3765+ label %Text; #IMPLIED
3766+ value CDATA #IMPLIED
3767+ >
3768+
3769+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
3770+<!ATTLIST textarea
3771+ %attrs;
3772+ %focus;
3773+ name CDATA #IMPLIED
3774+ rows %Number; #REQUIRED
3775+ cols %Number; #REQUIRED
3776+ disabled (disabled) #IMPLIED
3777+ readonly (readonly) #IMPLIED
3778+ onselect %Script; #IMPLIED
3779+ onchange %Script; #IMPLIED
3780+ >
3781+
3782+<!--
3783+ The fieldset element is used to group form fields.
3784+ Only one legend element should occur in the content
3785+ and if present should only be preceded by whitespace.
3786+-->
3787+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
3788+<!ATTLIST fieldset
3789+ %attrs;
3790+ >
3791+
3792+<!ENTITY % LAlign "(top|bottom|left|right)">
3793+
3794+<!ELEMENT legend %Inline;> <!-- fieldset label -->
3795+<!ATTLIST legend
3796+ %attrs;
3797+ accesskey %Character; #IMPLIED
3798+ align %LAlign; #IMPLIED
3799+ >
3800+
3801+<!--
3802+ Content is %Flow; excluding a, form, form controls, iframe
3803+-->
3804+<!ELEMENT button %button.content;> <!-- push button -->
3805+<!ATTLIST button
3806+ %attrs;
3807+ %focus;
3808+ name CDATA #IMPLIED
3809+ value CDATA #IMPLIED
3810+ type (button|submit|reset) "submit"
3811+ disabled (disabled) #IMPLIED
3812+ >
3813+
3814+<!-- single-line text input control (DEPRECATED) -->
3815+<!ELEMENT isindex EMPTY>
3816+<!ATTLIST isindex
3817+ %coreattrs;
3818+ %i18n;
3819+ prompt %Text; #IMPLIED
3820+ >
3821+
3822+<!--======================= Tables =======================================-->
3823+
3824+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
3825+
3826+<!--
3827+ The border attribute sets the thickness of the frame around the
3828+ table. The default units are screen pixels.
3829+
3830+ The frame attribute specifies which parts of the frame around
3831+ the table should be rendered. The values are not the same as
3832+ CALS to avoid a name clash with the valign attribute.
3833+-->
3834+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
3835+
3836+<!--
3837+ The rules attribute defines which rules to draw between cells:
3838+
3839+ If rules is absent then assume:
3840+ "none" if border is absent or border="0" otherwise "all"
3841+-->
3842+
3843+<!ENTITY % TRules "(none | groups | rows | cols | all)">
3844+
3845+<!-- horizontal placement of table relative to document -->
3846+<!ENTITY % TAlign "(left|center|right)">
3847+
3848+<!-- horizontal alignment attributes for cell contents
3849+
3850+ char alignment char, e.g. char=':'
3851+ charoff offset for alignment char
3852+-->
3853+<!ENTITY % cellhalign
3854+ "align (left|center|right|justify|char) #IMPLIED
3855+ char %Character; #IMPLIED
3856+ charoff %Length; #IMPLIED"
3857+ >
3858+
3859+<!-- vertical alignment attributes for cell contents -->
3860+<!ENTITY % cellvalign
3861+ "valign (top|middle|bottom|baseline) #IMPLIED"
3862+ >
3863+
3864+<!ELEMENT table
3865+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
3866+<!ELEMENT caption %Inline;>
3867+<!ELEMENT thead (tr)+>
3868+<!ELEMENT tfoot (tr)+>
3869+<!ELEMENT tbody (tr)+>
3870+<!ELEMENT colgroup (col)*>
3871+<!ELEMENT col EMPTY>
3872+<!ELEMENT tr (th|td)+>
3873+<!ELEMENT th %Flow;>
3874+<!ELEMENT td %Flow;>
3875+
3876+<!ATTLIST table
3877+ %attrs;
3878+ summary %Text; #IMPLIED
3879+ width %Length; #IMPLIED
3880+ border %Pixels; #IMPLIED
3881+ frame %TFrame; #IMPLIED
3882+ rules %TRules; #IMPLIED
3883+ cellspacing %Length; #IMPLIED
3884+ cellpadding %Length; #IMPLIED
3885+ align %TAlign; #IMPLIED
3886+ bgcolor %Color; #IMPLIED
3887+ >
3888+
3889+<!ENTITY % CAlign "(top|bottom|left|right)">
3890+
3891+<!ATTLIST caption
3892+ %attrs;
3893+ align %CAlign; #IMPLIED
3894+ >
3895+
3896+<!--
3897+colgroup groups a set of col elements. It allows you to group
3898+several semantically related columns together.
3899+-->
3900+<!ATTLIST colgroup
3901+ %attrs;
3902+ span %Number; "1"
3903+ width %MultiLength; #IMPLIED
3904+ %cellhalign;
3905+ %cellvalign;
3906+ >
3907+
3908+<!--
3909+ col elements define the alignment properties for cells in
3910+ one or more columns.
3911+
3912+ The width attribute specifies the width of the columns, e.g.
3913+
3914+ width=64 width in screen pixels
3915+ width=0.5* relative width of 0.5
3916+
3917+ The span attribute causes the attributes of one
3918+ col element to apply to more than one column.
3919+-->
3920+<!ATTLIST col
3921+ %attrs;
3922+ span %Number; "1"
3923+ width %MultiLength; #IMPLIED
3924+ %cellhalign;
3925+ %cellvalign;
3926+ >
3927+
3928+<!--
3929+ Use thead to duplicate headers when breaking table
3930+ across page boundaries, or for static headers when
3931+ tbody sections are rendered in scrolling panel.
3932+
3933+ Use tfoot to duplicate footers when breaking table
3934+ across page boundaries, or for static footers when
3935+ tbody sections are rendered in scrolling panel.
3936+
3937+ Use multiple tbody sections when rules are needed
3938+ between groups of table rows.
3939+-->
3940+<!ATTLIST thead
3941+ %attrs;
3942+ %cellhalign;
3943+ %cellvalign;
3944+ >
3945+
3946+<!ATTLIST tfoot
3947+ %attrs;
3948+ %cellhalign;
3949+ %cellvalign;
3950+ >
3951+
3952+<!ATTLIST tbody
3953+ %attrs;
3954+ %cellhalign;
3955+ %cellvalign;
3956+ >
3957+
3958+<!ATTLIST tr
3959+ %attrs;
3960+ %cellhalign;
3961+ %cellvalign;
3962+ bgcolor %Color; #IMPLIED
3963+ >
3964+
3965+<!-- Scope is simpler than headers attribute for common tables -->
3966+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
3967+
3968+<!-- th is for headers, td for data and for cells acting as both -->
3969+
3970+<!ATTLIST th
3971+ %attrs;
3972+ abbr %Text; #IMPLIED
3973+ axis CDATA #IMPLIED
3974+ headers IDREFS #IMPLIED
3975+ scope %Scope; #IMPLIED
3976+ rowspan %Number; "1"
3977+ colspan %Number; "1"
3978+ %cellhalign;
3979+ %cellvalign;
3980+ nowrap (nowrap) #IMPLIED
3981+ bgcolor %Color; #IMPLIED
3982+ width %Length; #IMPLIED
3983+ height %Length; #IMPLIED
3984+ >
3985+
3986+<!ATTLIST td
3987+ %attrs;
3988+ abbr %Text; #IMPLIED
3989+ axis CDATA #IMPLIED
3990+ headers IDREFS #IMPLIED
3991+ scope %Scope; #IMPLIED
3992+ rowspan %Number; "1"
3993+ colspan %Number; "1"
3994+ %cellhalign;
3995+ %cellvalign;
3996+ nowrap (nowrap) #IMPLIED
3997+ bgcolor %Color; #IMPLIED
3998+ width %Length; #IMPLIED
3999+ height %Length; #IMPLIED
4000+ >
4001+
4002
4003=== modified file 'test/rbkt/Queries/CMakeLists.txt'
4004--- test/rbkt/Queries/CMakeLists.txt 2012-01-31 15:30:49 +0000
4005+++ test/rbkt/Queries/CMakeLists.txt 2012-02-01 16:41:17 +0000
4006@@ -483,6 +483,11 @@
4007 # EXPECTED_FAILURE (test/rbkt/zorba/file/dirname_basename ????need bugnum???)
4008 #ENDIF ()
4009
4010+# Bug 921624. If this test takes more than a couple seconds, it must be
4011+# hitting w3.org for the DTD, which is bad.
4012+SET_TESTS_PROPERTIES(test/rbkt/zorba/schemas/local-xhtml
4013+ PROPERTIES TIMEOUT 5)
4014+
4015
4016 # --------------------------------------------------------------------------
4017 # the list of tests that are failing but can be accepted by the commit queue
4018
4019=== added file 'test/rbkt/Queries/zorba/schemas/local-xhtml.spec'
4020--- test/rbkt/Queries/zorba/schemas/local-xhtml.spec 1970-01-01 00:00:00 +0000
4021+++ test/rbkt/Queries/zorba/schemas/local-xhtml.spec 2012-02-01 16:41:17 +0000
4022@@ -0,0 +1,1 @@
4023+Error: http://www.w3.org/2005/xqt-errors:XQST0059
4024
4025=== added file 'test/rbkt/Queries/zorba/schemas/local-xhtml.xq'
4026--- test/rbkt/Queries/zorba/schemas/local-xhtml.xq 1970-01-01 00:00:00 +0000
4027+++ test/rbkt/Queries/zorba/schemas/local-xhtml.xq 2012-02-01 16:41:17 +0000
4028@@ -0,0 +1,6 @@
4029+(: Bug 921624. This test will take a very long time if the XHTML DTD is :)
4030+(: not available on the local filesystem, so it should be run with a :)
4031+(: short timeout (~5 seconds). :)
4032+
4033+import schema namespace bogus = "http://example.com/BOGUS";
4034+1

Subscribers

People subscribed via source and target branches