envjs19 0.3.8.20101029121421

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. data/.jslintrbrc +30 -0
  2. data/.project +17 -0
  3. data/CHANGELOG.rdoc +57 -0
  4. data/DTD/xhtml-lat1.ent +196 -0
  5. data/DTD/xhtml-special.ent +80 -0
  6. data/DTD/xhtml-symbol.ent +237 -0
  7. data/DTD/xhtml.soc +14 -0
  8. data/DTD/xhtml1-frameset.dtd +1235 -0
  9. data/DTD/xhtml1-strict.dtd +978 -0
  10. data/DTD/xhtml1-transitional.dtd +1201 -0
  11. data/DTD/xhtml1.dcl +192 -0
  12. data/Makefile +7 -0
  13. data/Manifest.txt +280 -0
  14. data/README.rdoc +65 -0
  15. data/Rakefile +196 -0
  16. data/Wakefile +11 -0
  17. data/bin/envjsrb +257 -0
  18. data/build.properties +9 -0
  19. data/build.xml +247 -0
  20. data/gm/jquery.js +6002 -0
  21. data/gm/mainx.js +2648 -0
  22. data/gm/sensx.js +135 -0
  23. data/gm/t.js +6 -0
  24. data/gm/x.html +76 -0
  25. data/htmlparser/BrowserTreeBuilder.java +456 -0
  26. data/htmlparser/README +34 -0
  27. data/htmlparser/build.sh +38 -0
  28. data/jsl/jsl +0 -0
  29. data/jsl/jsl.default.conf +129 -0
  30. data/jsl/jsl.exe +0 -0
  31. data/lib/envjs.rb +35 -0
  32. data/lib/envjs/event_loop.js +206 -0
  33. data/lib/envjs/net.rb +3 -0
  34. data/lib/envjs/net/cgi.rb +94 -0
  35. data/lib/envjs/net/file.rb +69 -0
  36. data/lib/envjs/options.rb +11 -0
  37. data/lib/envjs/runtime.rb +346 -0
  38. data/lib/envjs/tempfile.rb +24 -0
  39. data/licenses/GPL-LICENSE.txt +278 -0
  40. data/licenses/MIT-LICENSE.txt +20 -0
  41. data/src/base64.js +80 -0
  42. data/src/build.js +6 -0
  43. data/src/cruft/bad.html +24 -0
  44. data/src/cruft/dom.js +606 -0
  45. data/src/cruft/element.js +297 -0
  46. data/src/cruft/good.html +30 -0
  47. data/src/cruft/good.js +32 -0
  48. data/src/cruft/internal.js +81 -0
  49. data/src/cruft/parser.js +458 -0
  50. data/src/css/properties.js +293 -0
  51. data/src/css/rule.js +22 -0
  52. data/src/css/sizzle.js +717 -0
  53. data/src/css/stylesheet.js +52 -0
  54. data/src/dom/attr.js +55 -0
  55. data/src/dom/cdatasection.js +31 -0
  56. data/src/dom/characterdata.js +119 -0
  57. data/src/dom/comment.js +30 -0
  58. data/src/dom/doctype.js +9 -0
  59. data/src/dom/document.js +1023 -0
  60. data/src/dom/dom.js +134 -0
  61. data/src/dom/element.js +217 -0
  62. data/src/dom/entities.js +273 -0
  63. data/src/dom/exception.js +28 -0
  64. data/src/dom/fragment.js +37 -0
  65. data/src/dom/implementation.js +140 -0
  66. data/src/dom/instruction.js +51 -0
  67. data/src/dom/namednodemap.js +374 -0
  68. data/src/dom/namespace.js +50 -0
  69. data/src/dom/node.js +618 -0
  70. data/src/dom/nodelist.js +195 -0
  71. data/src/dom/parser.js +1207 -0
  72. data/src/dom/text.js +73 -0
  73. data/src/event/event.js +47 -0
  74. data/src/event/mouseevent.js +4 -0
  75. data/src/event/uievent.js +8 -0
  76. data/src/html/a.js +110 -0
  77. data/src/html/anchor.js +80 -0
  78. data/src/html/area.js +57 -0
  79. data/src/html/base.js +26 -0
  80. data/src/html/blockquote-q.js +19 -0
  81. data/src/html/body.js +19 -0
  82. data/src/html/button.js +21 -0
  83. data/src/html/canvas.js +14 -0
  84. data/src/html/col-colgroup.js +49 -0
  85. data/src/html/collection.js +72 -0
  86. data/src/html/cookie.js +153 -0
  87. data/src/html/del-ins.js +25 -0
  88. data/src/html/div.js +28 -0
  89. data/src/html/document.js +364 -0
  90. data/src/html/element.js +382 -0
  91. data/src/html/fieldset.js +19 -0
  92. data/src/html/form.js +484 -0
  93. data/src/html/frame.js +89 -0
  94. data/src/html/frameset.js +25 -0
  95. data/src/html/head.js +44 -0
  96. data/src/html/html.js +0 -0
  97. data/src/html/htmlparser.js +340 -0
  98. data/src/html/iframe.js +26 -0
  99. data/src/html/image.js +0 -0
  100. data/src/html/img.js +62 -0
  101. data/src/html/input-elements.js +307 -0
  102. data/src/html/input.js +65 -0
  103. data/src/html/label.js +26 -0
  104. data/src/html/legend.js +19 -0
  105. data/src/html/link.js +82 -0
  106. data/src/html/map.js +22 -0
  107. data/src/html/meta.js +37 -0
  108. data/src/html/object.js +89 -0
  109. data/src/html/optgroup.js +25 -0
  110. data/src/html/option.js +103 -0
  111. data/src/html/param.js +38 -0
  112. data/src/html/script.js +122 -0
  113. data/src/html/select.js +132 -0
  114. data/src/html/style.js +31 -0
  115. data/src/html/table.js +199 -0
  116. data/src/html/tbody-thead-tfoot.js +92 -0
  117. data/src/html/td-th.js +18 -0
  118. data/src/html/textarea.js +31 -0
  119. data/src/html/title.js +20 -0
  120. data/src/html/tr.js +114 -0
  121. data/src/intro.js +141 -0
  122. data/src/outro.js +70 -0
  123. data/src/parser/html5.detailed.js +10762 -0
  124. data/src/parser/html5.min.js +503 -0
  125. data/src/parser/html5.pretty.js +10815 -0
  126. data/src/parser/intro.js +42 -0
  127. data/src/parser/outro.js +9 -0
  128. data/src/platform/core.js +323 -0
  129. data/src/platform/johnson.js +484 -0
  130. data/src/platform/rhino.js +327 -0
  131. data/src/platform/static/intro.js +41 -0
  132. data/src/platform/static/outro.js +30 -0
  133. data/src/profile/aop.js +238 -0
  134. data/src/profile/profile.js +402 -0
  135. data/src/serializer/xml.js +21 -0
  136. data/src/svg/animatedstring.js +25 -0
  137. data/src/svg/document.js +25 -0
  138. data/src/svg/element.js +22 -0
  139. data/src/svg/locatable.js +17 -0
  140. data/src/svg/rect.js +18 -0
  141. data/src/svg/rectelement.js +24 -0
  142. data/src/svg/stylable.js +49 -0
  143. data/src/svg/svgelement.js +22 -0
  144. data/src/svg/transformable.js +15 -0
  145. data/src/window/css.js +15 -0
  146. data/src/window/dialog.js +16 -0
  147. data/src/window/document.js +28 -0
  148. data/src/window/event.js +265 -0
  149. data/src/window/history.js +62 -0
  150. data/src/window/location.js +156 -0
  151. data/src/window/navigator.js +48 -0
  152. data/src/window/screen.js +53 -0
  153. data/src/window/timer.js +21 -0
  154. data/src/window/window.js +284 -0
  155. data/src/window/xhr.js +135 -0
  156. data/src/xpath/expression.js +49 -0
  157. data/src/xpath/implementation.js +2505 -0
  158. data/src/xpath/result.js +67 -0
  159. data/src/xpath/util.js +551 -0
  160. data/src/xpath/xmltoken.js +149 -0
  161. data/src/xslt/COPYING +34 -0
  162. data/src/xslt/ajaxslt-0.8.1/AUTHORS +1 -0
  163. data/src/xslt/ajaxslt-0.8.1/ChangeLog +136 -0
  164. data/src/xslt/ajaxslt-0.8.1/Makefile +49 -0
  165. data/src/xslt/ajaxslt-0.8.1/README +102 -0
  166. data/src/xslt/ajaxslt-0.8.1/TODO +15 -0
  167. data/src/xslt/ajaxslt-0.8.1/dom.js +566 -0
  168. data/src/xslt/ajaxslt-0.8.1/dom_unittest.html +24 -0
  169. data/src/xslt/ajaxslt-0.8.1/dom_unittest.js +131 -0
  170. data/src/xslt/ajaxslt-0.8.1/simplelog.js +79 -0
  171. data/src/xslt/ajaxslt-0.8.1/test/xpath.html +18 -0
  172. data/src/xslt/ajaxslt-0.8.1/test/xpath_script.js +45 -0
  173. data/src/xslt/ajaxslt-0.8.1/test/xslt.html +58 -0
  174. data/src/xslt/ajaxslt-0.8.1/test/xslt_script.js +33 -0
  175. data/src/xslt/ajaxslt-0.8.1/unittestsuite.html +26 -0
  176. data/src/xslt/ajaxslt-0.8.1/xmltoken.js +149 -0
  177. data/src/xslt/ajaxslt-0.8.1/xmltoken_unittest.html +18 -0
  178. data/src/xslt/ajaxslt-0.8.1/xmltoken_unittest.js +811 -0
  179. data/src/xslt/ajaxslt-0.8.1/xpath_unittest.html +39 -0
  180. data/src/xslt/ajaxslt-0.8.1/xpath_unittest.js +557 -0
  181. data/src/xslt/ajaxslt-0.8.1/xpathdebug.js +234 -0
  182. data/src/xslt/ajaxslt-0.8.1/xslt_unittest.html +138 -0
  183. data/src/xslt/ajaxslt-0.8.1/xslt_unittest.js +68 -0
  184. data/src/xslt/implementation.js +625 -0
  185. data/src/xslt/processor.js +37 -0
  186. data/src/xslt/util.js +449 -0
  187. data/test/base64.js +80 -0
  188. data/test/call-load-test.js +15 -0
  189. data/test/data.js +45 -0
  190. data/test/debug.js +53 -0
  191. data/test/firebug/errorIcon.png +0 -0
  192. data/test/firebug/firebug.css +209 -0
  193. data/test/firebug/firebug.html +23 -0
  194. data/test/firebug/firebug.js +672 -0
  195. data/test/firebug/firebugx.js +10 -0
  196. data/test/firebug/infoIcon.png +0 -0
  197. data/test/firebug/warningIcon.png +0 -0
  198. data/test/fixtures/html/events.html +171 -0
  199. data/test/fixtures/html/iframe1.html +46 -0
  200. data/test/fixtures/html/iframe1a.html +46 -0
  201. data/test/fixtures/html/iframe2.html +45 -0
  202. data/test/fixtures/html/iframe3.html +28 -0
  203. data/test/fixtures/html/iframeN.html +57 -0
  204. data/test/fixtures/html/malformed.html +181 -0
  205. data/test/fixtures/html/scope.html +81 -0
  206. data/test/fixtures/html/trivial.html +19 -0
  207. data/test/fixtures/html/with_js.html +26 -0
  208. data/test/fixtures/images/icon-blue.png +0 -0
  209. data/test/fixtures/js/external_script.js +1 -0
  210. data/test/fixtures/js/script.js +1 -0
  211. data/test/fixtures/js/script_error.js +2 -0
  212. data/test/foo.html +8 -0
  213. data/test/foo.js +40 -0
  214. data/test/html/events.html +171 -0
  215. data/test/html/iframe1.html +46 -0
  216. data/test/html/iframe1a.html +46 -0
  217. data/test/html/iframe2.html +45 -0
  218. data/test/html/iframe3.html +30 -0
  219. data/test/html/iframeN.html +57 -0
  220. data/test/html/malformed.html +181 -0
  221. data/test/html/scope.html +87 -0
  222. data/test/html/script.js +1 -0
  223. data/test/html/trivial.html +19 -0
  224. data/test/html/with_js.html +26 -0
  225. data/test/index.html +328 -0
  226. data/test/java-prototype.js +9 -0
  227. data/test/jquery.js +6002 -0
  228. data/test/primary-tests.js +26 -0
  229. data/test/prototype-test.js +13 -0
  230. data/test/qunit.js +61 -0
  231. data/test/qunit/qunit/qunit.css +17 -0
  232. data/test/qunit/qunit/qunit.js +997 -0
  233. data/test/scope.html +19 -0
  234. data/test/scope.rb +24 -0
  235. data/test/smp/dmathieu/index.html +8 -0
  236. data/test/specs/dist/env.spec.js +1534 -0
  237. data/test/specs/envjs.spec.css +46 -0
  238. data/test/specs/parser/html.js +31 -0
  239. data/test/specs/parser/spec.html +40 -0
  240. data/test/specs/parser/xml.js +31 -0
  241. data/test/specs/qunit.bdd.js +210 -0
  242. data/test/specs/qunit.css +17 -0
  243. data/test/specs/qunit.js +997 -0
  244. data/test/specs/template/spec-0.js +31 -0
  245. data/test/specs/template/spec-1.js +31 -0
  246. data/test/specs/template/spec.html +40 -0
  247. data/test/specs/window/css.js +23 -0
  248. data/test/specs/window/dialog.js +25 -0
  249. data/test/specs/window/document.js +23 -0
  250. data/test/specs/window/event.js +25 -0
  251. data/test/specs/window/history.js +34 -0
  252. data/test/specs/window/location.js +34 -0
  253. data/test/specs/window/navigator.js +71 -0
  254. data/test/specs/window/screen.js +42 -0
  255. data/test/specs/window/spec.html +48 -0
  256. data/test/specs/window/timer.js +26 -0
  257. data/test/specs/window/window.js +53 -0
  258. data/test/specs/xhr/spec.html +47 -0
  259. data/test/specs/xhr/xhr.js +31 -0
  260. data/test/test.js +10 -0
  261. data/test/unit/dom.js +44 -0
  262. data/test/unit/elementmembers.js +92 -0
  263. data/test/unit/events.js +195 -0
  264. data/test/unit/fixtures/external_script.js +1 -0
  265. data/test/unit/form.js +40 -0
  266. data/test/unit/iframe.js +234 -0
  267. data/test/unit/insertion.js +23 -0
  268. data/test/unit/multi-window.js +212 -0
  269. data/test/unit/nu.validator.js +34 -0
  270. data/test/unit/onload.js +90 -0
  271. data/test/unit/parser.js +122 -0
  272. data/test/unit/prototypecompat.js +22 -0
  273. data/test/unit/proxy.js +6 -0
  274. data/test/unit/scope.js +209 -0
  275. data/test/unit/timer.js +115 -0
  276. data/test/unit/window.js +57 -0
  277. data/test/x.js +1 -0
  278. data/test/y.js +1 -0
  279. metadata +367 -0
data/DTD/xhtml.soc ADDED
@@ -0,0 +1,14 @@
1
+ OVERRIDE YES
2
+ -- Oasis entity catalog for Extensible HTML 1.0 --
3
+
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd"
5
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"
6
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "xhtml1-frameset.dtd"
7
+
8
+ -- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) --
9
+
10
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"
11
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent"
12
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent"
13
+
14
+ SGMLDECL "xhtml1.dcl"
@@ -0,0 +1,1235 @@
1
+ <!--
2
+ Extensible HTML version 1.0 Frameset DTD
3
+
4
+ This is the same as HTML 4 Frameset except for
5
+ changes due to the differences between XML and SGML.
6
+
7
+ Namespace = http://www.w3.org/1999/xhtml
8
+
9
+ For further information, see: http://www.w3.org/TR/xhtml1
10
+
11
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
12
+ All Rights Reserved.
13
+
14
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
15
+
16
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
17
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
18
+
19
+ $Revision: 1.26 $
20
+ $Date: 2002/08/01 18:16:48 $
21
+
22
+ -->
23
+
24
+ <!--================ Character mnemonic entities =========================-->
25
+
26
+ <!ENTITY % HTMLlat1 PUBLIC
27
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
28
+ "xhtml-lat1.ent">
29
+ %HTMLlat1;
30
+
31
+ <!ENTITY % HTMLsymbol PUBLIC
32
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
33
+ "xhtml-symbol.ent">
34
+ %HTMLsymbol;
35
+
36
+ <!ENTITY % HTMLspecial PUBLIC
37
+ "-//W3C//ENTITIES Special for XHTML//EN"
38
+ "xhtml-special.ent">
39
+ %HTMLspecial;
40
+
41
+ <!--================== Imported Names ====================================-->
42
+
43
+ <!ENTITY % ContentType "CDATA">
44
+ <!-- media type, as per [RFC2045] -->
45
+
46
+ <!ENTITY % ContentTypes "CDATA">
47
+ <!-- comma-separated list of media types, as per [RFC2045] -->
48
+
49
+ <!ENTITY % Charset "CDATA">
50
+ <!-- a character encoding, as per [RFC2045] -->
51
+
52
+ <!ENTITY % Charsets "CDATA">
53
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
54
+
55
+ <!ENTITY % LanguageCode "NMTOKEN">
56
+ <!-- a language code, as per [RFC3066] -->
57
+
58
+ <!ENTITY % Character "CDATA">
59
+ <!-- a single character, as per section 2.2 of [XML] -->
60
+
61
+ <!ENTITY % Number "CDATA">
62
+ <!-- one or more digits -->
63
+
64
+ <!ENTITY % LinkTypes "CDATA">
65
+ <!-- space-separated list of link types -->
66
+
67
+ <!ENTITY % MediaDesc "CDATA">
68
+ <!-- single or comma-separated list of media descriptors -->
69
+
70
+ <!ENTITY % URI "CDATA">
71
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
72
+
73
+ <!ENTITY % UriList "CDATA">
74
+ <!-- a space separated list of Uniform Resource Identifiers -->
75
+
76
+ <!ENTITY % Datetime "CDATA">
77
+ <!-- date and time information. ISO date format -->
78
+
79
+ <!ENTITY % Script "CDATA">
80
+ <!-- script expression -->
81
+
82
+ <!ENTITY % StyleSheet "CDATA">
83
+ <!-- style sheet data -->
84
+
85
+ <!ENTITY % Text "CDATA">
86
+ <!-- used for titles etc. -->
87
+
88
+ <!ENTITY % FrameTarget "NMTOKEN">
89
+ <!-- render in this frame -->
90
+
91
+ <!ENTITY % Length "CDATA">
92
+ <!-- nn for pixels or nn% for percentage length -->
93
+
94
+ <!ENTITY % MultiLength "CDATA">
95
+ <!-- pixel, percentage, or relative -->
96
+
97
+ <!ENTITY % MultiLengths "CDATA">
98
+ <!-- comma-separated list of MultiLength -->
99
+
100
+ <!ENTITY % Pixels "CDATA">
101
+ <!-- integer representing length in pixels -->
102
+
103
+ <!-- these are used for image maps -->
104
+
105
+ <!ENTITY % Shape "(rect|circle|poly|default)">
106
+
107
+ <!ENTITY % Coords "CDATA">
108
+ <!-- comma separated list of lengths -->
109
+
110
+ <!-- used for object, applet, img, input and iframe -->
111
+ <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
112
+
113
+ <!-- a color using sRGB: #RRGGBB as Hex values -->
114
+ <!ENTITY % Color "CDATA">
115
+
116
+ <!-- There are also 16 widely known color names with their sRGB values:
117
+
118
+ Black = #000000 Green = #008000
119
+ Silver = #C0C0C0 Lime = #00FF00
120
+ Gray = #808080 Olive = #808000
121
+ White = #FFFFFF Yellow = #FFFF00
122
+ Maroon = #800000 Navy = #000080
123
+ Red = #FF0000 Blue = #0000FF
124
+ Purple = #800080 Teal = #008080
125
+ Fuchsia= #FF00FF Aqua = #00FFFF
126
+ -->
127
+
128
+ <!--=================== Generic Attributes ===============================-->
129
+
130
+ <!-- core attributes common to most elements
131
+ id document-wide unique id
132
+ class space separated list of classes
133
+ style associated style info
134
+ title advisory title/amplification
135
+ -->
136
+ <!ENTITY % coreattrs
137
+ "id ID #IMPLIED
138
+ class CDATA #IMPLIED
139
+ style %StyleSheet; #IMPLIED
140
+ title %Text; #IMPLIED"
141
+ >
142
+
143
+ <!-- internationalization attributes
144
+ lang language code (backwards compatible)
145
+ xml:lang language code (as per XML 1.0 spec)
146
+ dir direction for weak/neutral text
147
+ -->
148
+ <!ENTITY % i18n
149
+ "lang %LanguageCode; #IMPLIED
150
+ xml:lang %LanguageCode; #IMPLIED
151
+ dir (ltr|rtl) #IMPLIED"
152
+ >
153
+
154
+ <!-- attributes for common UI events
155
+ onclick a pointer button was clicked
156
+ ondblclick a pointer button was double clicked
157
+ onmousedown a pointer button was pressed down
158
+ onmouseup a pointer button was released
159
+ onmousemove a pointer was moved onto the element
160
+ onmouseout a pointer was moved away from the element
161
+ onkeypress a key was pressed and released
162
+ onkeydown a key was pressed down
163
+ onkeyup a key was released
164
+ -->
165
+ <!ENTITY % events
166
+ "onclick %Script; #IMPLIED
167
+ ondblclick %Script; #IMPLIED
168
+ onmousedown %Script; #IMPLIED
169
+ onmouseup %Script; #IMPLIED
170
+ onmouseover %Script; #IMPLIED
171
+ onmousemove %Script; #IMPLIED
172
+ onmouseout %Script; #IMPLIED
173
+ onkeypress %Script; #IMPLIED
174
+ onkeydown %Script; #IMPLIED
175
+ onkeyup %Script; #IMPLIED"
176
+ >
177
+
178
+ <!-- attributes for elements that can get the focus
179
+ accesskey accessibility key character
180
+ tabindex position in tabbing order
181
+ onfocus the element got the focus
182
+ onblur the element lost the focus
183
+ -->
184
+ <!ENTITY % focus
185
+ "accesskey %Character; #IMPLIED
186
+ tabindex %Number; #IMPLIED
187
+ onfocus %Script; #IMPLIED
188
+ onblur %Script; #IMPLIED"
189
+ >
190
+
191
+ <!ENTITY % attrs "%coreattrs; %i18n; %events;">
192
+
193
+ <!-- text alignment for p, div, h1-h6. The default is
194
+ align="left" for ltr headings, "right" for rtl -->
195
+
196
+ <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
197
+
198
+ <!--=================== Text Elements ====================================-->
199
+
200
+ <!ENTITY % special.extra
201
+ "object | applet | img | map | iframe">
202
+
203
+ <!ENTITY % special.basic
204
+ "br | span | bdo">
205
+
206
+ <!ENTITY % special
207
+ "%special.basic; | %special.extra;">
208
+
209
+ <!ENTITY % fontstyle.extra "big | small | font | basefont">
210
+
211
+ <!ENTITY % fontstyle.basic "tt | i | b | u
212
+ | s | strike ">
213
+
214
+ <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
215
+
216
+ <!ENTITY % phrase.extra "sub | sup">
217
+ <!ENTITY % phrase.basic "em | strong | dfn | code | q |
218
+ samp | kbd | var | cite | abbr | acronym">
219
+
220
+ <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
221
+
222
+ <!ENTITY % inline.forms "input | select | textarea | label | button">
223
+
224
+ <!-- these can occur at block or inline level -->
225
+ <!ENTITY % misc.inline "ins | del | script">
226
+
227
+ <!-- these can only occur at block level -->
228
+ <!ENTITY % misc "noscript | %misc.inline;">
229
+
230
+
231
+ <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
232
+
233
+ <!-- %Inline; covers inline or "text-level" elements -->
234
+ <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
235
+
236
+ <!--================== Block level elements ==============================-->
237
+
238
+ <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
239
+ <!ENTITY % lists "ul | ol | dl | menu | dir">
240
+ <!ENTITY % blocktext "pre | hr | blockquote | address | center">
241
+
242
+ <!ENTITY % block
243
+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
244
+
245
+ <!-- %Flow; mixes block and inline and is used for list items etc. -->
246
+ <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
247
+
248
+ <!--================== Content models for exclusions =====================-->
249
+
250
+ <!-- a elements use %Inline; excluding a -->
251
+
252
+ <!ENTITY % a.content
253
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
254
+
255
+ <!-- pre uses %Inline excluding img, object, applet, big, small,
256
+ sub, sup, font, or basefont -->
257
+
258
+ <!ENTITY % pre.content
259
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
260
+ %inline.forms; | %misc.inline;)*">
261
+
262
+
263
+ <!-- form uses %Flow; excluding form -->
264
+
265
+ <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
266
+
267
+ <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
268
+
269
+ <!ENTITY % button.content
270
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
271
+ table | br | span | bdo | object | applet | img | map |
272
+ %fontstyle; | %phrase; | %misc;)*">
273
+
274
+ <!--================ Document Structure ==================================-->
275
+
276
+ <!-- the namespace URI designates the document profile -->
277
+
278
+ <!ELEMENT html (head, frameset)>
279
+ <!ATTLIST html
280
+ %i18n;
281
+ id ID #IMPLIED
282
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
283
+ >
284
+
285
+ <!--================ Document Head =======================================-->
286
+
287
+ <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
288
+
289
+ <!-- content model is %head.misc; combined with a single
290
+ title and an optional base element in any order -->
291
+
292
+ <!ELEMENT head (%head.misc;,
293
+ ((title, %head.misc;, (base, %head.misc;)?) |
294
+ (base, %head.misc;, (title, %head.misc;))))>
295
+
296
+ <!ATTLIST head
297
+ %i18n;
298
+ id ID #IMPLIED
299
+ profile %URI; #IMPLIED
300
+ >
301
+
302
+ <!-- The title element is not considered part of the flow of text.
303
+ It should be displayed, for example as the page header or
304
+ window title. Exactly one title is required per document.
305
+ -->
306
+ <!ELEMENT title (#PCDATA)>
307
+ <!ATTLIST title
308
+ %i18n;
309
+ id ID #IMPLIED
310
+ >
311
+
312
+ <!-- document base URI -->
313
+
314
+ <!ELEMENT base EMPTY>
315
+ <!ATTLIST base
316
+ id ID #IMPLIED
317
+ href %URI; #IMPLIED
318
+ target %FrameTarget; #IMPLIED
319
+ >
320
+
321
+ <!-- generic metainformation -->
322
+ <!ELEMENT meta EMPTY>
323
+ <!ATTLIST meta
324
+ %i18n;
325
+ id ID #IMPLIED
326
+ http-equiv CDATA #IMPLIED
327
+ name CDATA #IMPLIED
328
+ content CDATA #REQUIRED
329
+ scheme CDATA #IMPLIED
330
+ >
331
+
332
+ <!--
333
+ Relationship values can be used in principle:
334
+
335
+ a) for document specific toolbars/menus when used
336
+ with the link element in document head e.g.
337
+ start, contents, previous, next, index, end, help
338
+ b) to link to a separate style sheet (rel="stylesheet")
339
+ c) to make a link to a script (rel="script")
340
+ d) by stylesheets to control how collections of
341
+ html nodes are rendered into printed documents
342
+ e) to make a link to a printable version of this document
343
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
344
+ -->
345
+
346
+ <!ELEMENT link EMPTY>
347
+ <!ATTLIST link
348
+ %attrs;
349
+ charset %Charset; #IMPLIED
350
+ href %URI; #IMPLIED
351
+ hreflang %LanguageCode; #IMPLIED
352
+ type %ContentType; #IMPLIED
353
+ rel %LinkTypes; #IMPLIED
354
+ rev %LinkTypes; #IMPLIED
355
+ media %MediaDesc; #IMPLIED
356
+ target %FrameTarget; #IMPLIED
357
+ >
358
+
359
+ <!-- style info, which may include CDATA sections -->
360
+ <!ELEMENT style (#PCDATA)>
361
+ <!ATTLIST style
362
+ %i18n;
363
+ id ID #IMPLIED
364
+ type %ContentType; #REQUIRED
365
+ media %MediaDesc; #IMPLIED
366
+ title %Text; #IMPLIED
367
+ xml:space (preserve) #FIXED 'preserve'
368
+ >
369
+
370
+ <!-- script statements, which may include CDATA sections -->
371
+ <!ELEMENT script (#PCDATA)>
372
+ <!ATTLIST script
373
+ id ID #IMPLIED
374
+ charset %Charset; #IMPLIED
375
+ type %ContentType; #REQUIRED
376
+ language CDATA #IMPLIED
377
+ src %URI; #IMPLIED
378
+ defer (defer) #IMPLIED
379
+ xml:space (preserve) #FIXED 'preserve'
380
+ >
381
+
382
+ <!-- alternate content container for non script-based rendering -->
383
+
384
+ <!ELEMENT noscript %Flow;>
385
+ <!ATTLIST noscript
386
+ %attrs;
387
+ >
388
+
389
+ <!--======================= Frames =======================================-->
390
+
391
+ <!-- only one noframes element permitted per document -->
392
+
393
+ <!ELEMENT frameset (frameset|frame|noframes)*>
394
+ <!ATTLIST frameset
395
+ %coreattrs;
396
+ rows %MultiLengths; #IMPLIED
397
+ cols %MultiLengths; #IMPLIED
398
+ onload %Script; #IMPLIED
399
+ onunload %Script; #IMPLIED
400
+ >
401
+
402
+ <!-- reserved frame names start with "_" otherwise starts with letter -->
403
+
404
+ <!-- tiled window within frameset -->
405
+
406
+ <!ELEMENT frame EMPTY>
407
+ <!ATTLIST frame
408
+ %coreattrs;
409
+ longdesc %URI; #IMPLIED
410
+ name NMTOKEN #IMPLIED
411
+ src %URI; #IMPLIED
412
+ frameborder (1|0) "1"
413
+ marginwidth %Pixels; #IMPLIED
414
+ marginheight %Pixels; #IMPLIED
415
+ noresize (noresize) #IMPLIED
416
+ scrolling (yes|no|auto) "auto"
417
+ >
418
+
419
+ <!-- inline subwindow -->
420
+
421
+ <!ELEMENT iframe %Flow;>
422
+ <!ATTLIST iframe
423
+ %coreattrs;
424
+ longdesc %URI; #IMPLIED
425
+ name NMTOKEN #IMPLIED
426
+ src %URI; #IMPLIED
427
+ frameborder (1|0) "1"
428
+ marginwidth %Pixels; #IMPLIED
429
+ marginheight %Pixels; #IMPLIED
430
+ scrolling (yes|no|auto) "auto"
431
+ align %ImgAlign; #IMPLIED
432
+ height %Length; #IMPLIED
433
+ width %Length; #IMPLIED
434
+ >
435
+
436
+ <!-- alternate content container for non frame-based rendering -->
437
+
438
+ <!ELEMENT noframes (body)>
439
+ <!ATTLIST noframes
440
+ %attrs;
441
+ >
442
+
443
+ <!--=================== Document Body ====================================-->
444
+
445
+ <!ELEMENT body %Flow;>
446
+ <!ATTLIST body
447
+ %attrs;
448
+ onload %Script; #IMPLIED
449
+ onunload %Script; #IMPLIED
450
+ background %URI; #IMPLIED
451
+ bgcolor %Color; #IMPLIED
452
+ text %Color; #IMPLIED
453
+ link %Color; #IMPLIED
454
+ vlink %Color; #IMPLIED
455
+ alink %Color; #IMPLIED
456
+ >
457
+
458
+ <!ELEMENT div %Flow;> <!-- generic language/style container -->
459
+ <!ATTLIST div
460
+ %attrs;
461
+ %TextAlign;
462
+ >
463
+
464
+ <!--=================== Paragraphs =======================================-->
465
+
466
+ <!ELEMENT p %Inline;>
467
+ <!ATTLIST p
468
+ %attrs;
469
+ %TextAlign;
470
+ >
471
+
472
+ <!--=================== Headings =========================================-->
473
+
474
+ <!--
475
+ There are six levels of headings from h1 (the most important)
476
+ to h6 (the least important).
477
+ -->
478
+
479
+ <!ELEMENT h1 %Inline;>
480
+ <!ATTLIST h1
481
+ %attrs;
482
+ %TextAlign;
483
+ >
484
+
485
+ <!ELEMENT h2 %Inline;>
486
+ <!ATTLIST h2
487
+ %attrs;
488
+ %TextAlign;
489
+ >
490
+
491
+ <!ELEMENT h3 %Inline;>
492
+ <!ATTLIST h3
493
+ %attrs;
494
+ %TextAlign;
495
+ >
496
+
497
+ <!ELEMENT h4 %Inline;>
498
+ <!ATTLIST h4
499
+ %attrs;
500
+ %TextAlign;
501
+ >
502
+
503
+ <!ELEMENT h5 %Inline;>
504
+ <!ATTLIST h5
505
+ %attrs;
506
+ %TextAlign;
507
+ >
508
+
509
+ <!ELEMENT h6 %Inline;>
510
+ <!ATTLIST h6
511
+ %attrs;
512
+ %TextAlign;
513
+ >
514
+
515
+ <!--=================== Lists ============================================-->
516
+
517
+ <!-- Unordered list bullet styles -->
518
+
519
+ <!ENTITY % ULStyle "(disc|square|circle)">
520
+
521
+ <!-- Unordered list -->
522
+
523
+ <!ELEMENT ul (li)+>
524
+ <!ATTLIST ul
525
+ %attrs;
526
+ type %ULStyle; #IMPLIED
527
+ compact (compact) #IMPLIED
528
+ >
529
+
530
+ <!-- Ordered list numbering style
531
+
532
+ 1 arabic numbers 1, 2, 3, ...
533
+ a lower alpha a, b, c, ...
534
+ A upper alpha A, B, C, ...
535
+ i lower roman i, ii, iii, ...
536
+ I upper roman I, II, III, ...
537
+
538
+ The style is applied to the sequence number which by default
539
+ is reset to 1 for the first list item in an ordered list.
540
+ -->
541
+ <!ENTITY % OLStyle "CDATA">
542
+
543
+ <!-- Ordered (numbered) list -->
544
+
545
+ <!ELEMENT ol (li)+>
546
+ <!ATTLIST ol
547
+ %attrs;
548
+ type %OLStyle; #IMPLIED
549
+ compact (compact) #IMPLIED
550
+ start %Number; #IMPLIED
551
+ >
552
+
553
+ <!-- single column list (DEPRECATED) -->
554
+ <!ELEMENT menu (li)+>
555
+ <!ATTLIST menu
556
+ %attrs;
557
+ compact (compact) #IMPLIED
558
+ >
559
+
560
+ <!-- multiple column list (DEPRECATED) -->
561
+ <!ELEMENT dir (li)+>
562
+ <!ATTLIST dir
563
+ %attrs;
564
+ compact (compact) #IMPLIED
565
+ >
566
+
567
+ <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
568
+ <!ENTITY % LIStyle "CDATA">
569
+
570
+ <!-- list item -->
571
+
572
+ <!ELEMENT li %Flow;>
573
+ <!ATTLIST li
574
+ %attrs;
575
+ type %LIStyle; #IMPLIED
576
+ value %Number; #IMPLIED
577
+ >
578
+
579
+ <!-- definition lists - dt for term, dd for its definition -->
580
+
581
+ <!ELEMENT dl (dt|dd)+>
582
+ <!ATTLIST dl
583
+ %attrs;
584
+ compact (compact) #IMPLIED
585
+ >
586
+
587
+ <!ELEMENT dt %Inline;>
588
+ <!ATTLIST dt
589
+ %attrs;
590
+ >
591
+
592
+ <!ELEMENT dd %Flow;>
593
+ <!ATTLIST dd
594
+ %attrs;
595
+ >
596
+
597
+ <!--=================== Address ==========================================-->
598
+
599
+ <!-- information on author -->
600
+
601
+ <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
602
+ <!ATTLIST address
603
+ %attrs;
604
+ >
605
+
606
+ <!--=================== Horizontal Rule ==================================-->
607
+
608
+ <!ELEMENT hr EMPTY>
609
+ <!ATTLIST hr
610
+ %attrs;
611
+ align (left|center|right) #IMPLIED
612
+ noshade (noshade) #IMPLIED
613
+ size %Pixels; #IMPLIED
614
+ width %Length; #IMPLIED
615
+ >
616
+
617
+ <!--=================== Preformatted Text ================================-->
618
+
619
+ <!-- content is %Inline; excluding
620
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
621
+
622
+ <!ELEMENT pre %pre.content;>
623
+ <!ATTLIST pre
624
+ %attrs;
625
+ width %Number; #IMPLIED
626
+ xml:space (preserve) #FIXED 'preserve'
627
+ >
628
+
629
+ <!--=================== Block-like Quotes ================================-->
630
+
631
+ <!ELEMENT blockquote %Flow;>
632
+ <!ATTLIST blockquote
633
+ %attrs;
634
+ cite %URI; #IMPLIED
635
+ >
636
+
637
+ <!--=================== Text alignment ===================================-->
638
+
639
+ <!-- center content -->
640
+ <!ELEMENT center %Flow;>
641
+ <!ATTLIST center
642
+ %attrs;
643
+ >
644
+
645
+ <!--=================== Inserted/Deleted Text ============================-->
646
+
647
+
648
+ <!--
649
+ ins/del are allowed in block and inline content, but its
650
+ inappropriate to include block content within an ins element
651
+ occurring in inline content.
652
+ -->
653
+ <!ELEMENT ins %Flow;>
654
+ <!ATTLIST ins
655
+ %attrs;
656
+ cite %URI; #IMPLIED
657
+ datetime %Datetime; #IMPLIED
658
+ >
659
+
660
+ <!ELEMENT del %Flow;>
661
+ <!ATTLIST del
662
+ %attrs;
663
+ cite %URI; #IMPLIED
664
+ datetime %Datetime; #IMPLIED
665
+ >
666
+
667
+ <!--================== The Anchor Element ================================-->
668
+
669
+ <!-- content is %Inline; except that anchors shouldn't be nested -->
670
+
671
+ <!ELEMENT a %a.content;>
672
+ <!ATTLIST a
673
+ %attrs;
674
+ %focus;
675
+ charset %Charset; #IMPLIED
676
+ type %ContentType; #IMPLIED
677
+ name NMTOKEN #IMPLIED
678
+ href %URI; #IMPLIED
679
+ hreflang %LanguageCode; #IMPLIED
680
+ rel %LinkTypes; #IMPLIED
681
+ rev %LinkTypes; #IMPLIED
682
+ shape %Shape; "rect"
683
+ coords %Coords; #IMPLIED
684
+ target %FrameTarget; #IMPLIED
685
+ >
686
+
687
+ <!--===================== Inline Elements ================================-->
688
+
689
+ <!ELEMENT span %Inline;> <!-- generic language/style container -->
690
+ <!ATTLIST span
691
+ %attrs;
692
+ >
693
+
694
+ <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
695
+ <!ATTLIST bdo
696
+ %coreattrs;
697
+ %events;
698
+ lang %LanguageCode; #IMPLIED
699
+ xml:lang %LanguageCode; #IMPLIED
700
+ dir (ltr|rtl) #REQUIRED
701
+ >
702
+
703
+ <!ELEMENT br EMPTY> <!-- forced line break -->
704
+ <!ATTLIST br
705
+ %coreattrs;
706
+ clear (left|all|right|none) "none"
707
+ >
708
+
709
+ <!ELEMENT em %Inline;> <!-- emphasis -->
710
+ <!ATTLIST em %attrs;>
711
+
712
+ <!ELEMENT strong %Inline;> <!-- strong emphasis -->
713
+ <!ATTLIST strong %attrs;>
714
+
715
+ <!ELEMENT dfn %Inline;> <!-- definitional -->
716
+ <!ATTLIST dfn %attrs;>
717
+
718
+ <!ELEMENT code %Inline;> <!-- program code -->
719
+ <!ATTLIST code %attrs;>
720
+
721
+ <!ELEMENT samp %Inline;> <!-- sample -->
722
+ <!ATTLIST samp %attrs;>
723
+
724
+ <!ELEMENT kbd %Inline;> <!-- something user would type -->
725
+ <!ATTLIST kbd %attrs;>
726
+
727
+ <!ELEMENT var %Inline;> <!-- variable -->
728
+ <!ATTLIST var %attrs;>
729
+
730
+ <!ELEMENT cite %Inline;> <!-- citation -->
731
+ <!ATTLIST cite %attrs;>
732
+
733
+ <!ELEMENT abbr %Inline;> <!-- abbreviation -->
734
+ <!ATTLIST abbr %attrs;>
735
+
736
+ <!ELEMENT acronym %Inline;> <!-- acronym -->
737
+ <!ATTLIST acronym %attrs;>
738
+
739
+ <!ELEMENT q %Inline;> <!-- inlined quote -->
740
+ <!ATTLIST q
741
+ %attrs;
742
+ cite %URI; #IMPLIED
743
+ >
744
+
745
+ <!ELEMENT sub %Inline;> <!-- subscript -->
746
+ <!ATTLIST sub %attrs;>
747
+
748
+ <!ELEMENT sup %Inline;> <!-- superscript -->
749
+ <!ATTLIST sup %attrs;>
750
+
751
+ <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
752
+ <!ATTLIST tt %attrs;>
753
+
754
+ <!ELEMENT i %Inline;> <!-- italic font -->
755
+ <!ATTLIST i %attrs;>
756
+
757
+ <!ELEMENT b %Inline;> <!-- bold font -->
758
+ <!ATTLIST b %attrs;>
759
+
760
+ <!ELEMENT big %Inline;> <!-- bigger font -->
761
+ <!ATTLIST big %attrs;>
762
+
763
+ <!ELEMENT small %Inline;> <!-- smaller font -->
764
+ <!ATTLIST small %attrs;>
765
+
766
+ <!ELEMENT u %Inline;> <!-- underline -->
767
+ <!ATTLIST u %attrs;>
768
+
769
+ <!ELEMENT s %Inline;> <!-- strike-through -->
770
+ <!ATTLIST s %attrs;>
771
+
772
+ <!ELEMENT strike %Inline;> <!-- strike-through -->
773
+ <!ATTLIST strike %attrs;>
774
+
775
+ <!ELEMENT basefont EMPTY> <!-- base font size -->
776
+ <!ATTLIST basefont
777
+ id ID #IMPLIED
778
+ size CDATA #REQUIRED
779
+ color %Color; #IMPLIED
780
+ face CDATA #IMPLIED
781
+ >
782
+
783
+ <!ELEMENT font %Inline;> <!-- local change to font -->
784
+ <!ATTLIST font
785
+ %coreattrs;
786
+ %i18n;
787
+ size CDATA #IMPLIED
788
+ color %Color; #IMPLIED
789
+ face CDATA #IMPLIED
790
+ >
791
+
792
+ <!--==================== Object ======================================-->
793
+ <!--
794
+ object is used to embed objects as part of HTML pages.
795
+ param elements should precede other content. Parameters
796
+ can also be expressed as attribute/value pairs on the
797
+ object element itself when brevity is desired.
798
+ -->
799
+
800
+ <!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
801
+ <!ATTLIST object
802
+ %attrs;
803
+ declare (declare) #IMPLIED
804
+ classid %URI; #IMPLIED
805
+ codebase %URI; #IMPLIED
806
+ data %URI; #IMPLIED
807
+ type %ContentType; #IMPLIED
808
+ codetype %ContentType; #IMPLIED
809
+ archive %UriList; #IMPLIED
810
+ standby %Text; #IMPLIED
811
+ height %Length; #IMPLIED
812
+ width %Length; #IMPLIED
813
+ usemap %URI; #IMPLIED
814
+ name NMTOKEN #IMPLIED
815
+ tabindex %Number; #IMPLIED
816
+ align %ImgAlign; #IMPLIED
817
+ border %Pixels; #IMPLIED
818
+ hspace %Pixels; #IMPLIED
819
+ vspace %Pixels; #IMPLIED
820
+ >
821
+
822
+ <!--
823
+ param is used to supply a named property value.
824
+ In XML it would seem natural to follow RDF and support an
825
+ abbreviated syntax where the param elements are replaced
826
+ by attribute value pairs on the object start tag.
827
+ -->
828
+ <!ELEMENT param EMPTY>
829
+ <!ATTLIST param
830
+ id ID #IMPLIED
831
+ name CDATA #REQUIRED
832
+ value CDATA #IMPLIED
833
+ valuetype (data|ref|object) "data"
834
+ type %ContentType; #IMPLIED
835
+ >
836
+
837
+ <!--=================== Java applet ==================================-->
838
+ <!--
839
+ One of code or object attributes must be present.
840
+ Place param elements before other content.
841
+ -->
842
+ <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
843
+ <!ATTLIST applet
844
+ %coreattrs;
845
+ codebase %URI; #IMPLIED
846
+ archive CDATA #IMPLIED
847
+ code CDATA #IMPLIED
848
+ object CDATA #IMPLIED
849
+ alt %Text; #IMPLIED
850
+ name NMTOKEN #IMPLIED
851
+ width %Length; #REQUIRED
852
+ height %Length; #REQUIRED
853
+ align %ImgAlign; #IMPLIED
854
+ hspace %Pixels; #IMPLIED
855
+ vspace %Pixels; #IMPLIED
856
+ >
857
+
858
+ <!--=================== Images ===========================================-->
859
+
860
+ <!--
861
+ To avoid accessibility problems for people who aren't
862
+ able to see the image, you should provide a text
863
+ description using the alt and longdesc attributes.
864
+ In addition, avoid the use of server-side image maps.
865
+ -->
866
+
867
+ <!ELEMENT img EMPTY>
868
+ <!ATTLIST img
869
+ %attrs;
870
+ src %URI; #REQUIRED
871
+ alt %Text; #REQUIRED
872
+ name NMTOKEN #IMPLIED
873
+ longdesc %URI; #IMPLIED
874
+ height %Length; #IMPLIED
875
+ width %Length; #IMPLIED
876
+ usemap %URI; #IMPLIED
877
+ ismap (ismap) #IMPLIED
878
+ align %ImgAlign; #IMPLIED
879
+ border %Pixels; #IMPLIED
880
+ hspace %Pixels; #IMPLIED
881
+ vspace %Pixels; #IMPLIED
882
+ >
883
+
884
+ <!-- usemap points to a map element which may be in this document
885
+ or an external document, although the latter is not widely supported -->
886
+
887
+ <!--================== Client-side image maps ============================-->
888
+
889
+ <!-- These can be placed in the same document or grouped in a
890
+ separate document although this isn't yet widely supported -->
891
+
892
+ <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
893
+ <!ATTLIST map
894
+ %i18n;
895
+ %events;
896
+ id ID #REQUIRED
897
+ class CDATA #IMPLIED
898
+ style %StyleSheet; #IMPLIED
899
+ title %Text; #IMPLIED
900
+ name NMTOKEN #IMPLIED
901
+ >
902
+
903
+ <!ELEMENT area EMPTY>
904
+ <!ATTLIST area
905
+ %attrs;
906
+ %focus;
907
+ shape %Shape; "rect"
908
+ coords %Coords; #IMPLIED
909
+ href %URI; #IMPLIED
910
+ nohref (nohref) #IMPLIED
911
+ alt %Text; #REQUIRED
912
+ target %FrameTarget; #IMPLIED
913
+ >
914
+
915
+ <!--================ Forms ===============================================-->
916
+
917
+ <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
918
+
919
+ <!ATTLIST form
920
+ %attrs;
921
+ action %URI; #REQUIRED
922
+ method (get|post) "get"
923
+ name NMTOKEN #IMPLIED
924
+ enctype %ContentType; "application/x-www-form-urlencoded"
925
+ onsubmit %Script; #IMPLIED
926
+ onreset %Script; #IMPLIED
927
+ accept %ContentTypes; #IMPLIED
928
+ accept-charset %Charsets; #IMPLIED
929
+ target %FrameTarget; #IMPLIED
930
+ >
931
+
932
+ <!--
933
+ Each label must not contain more than ONE field
934
+ Label elements shouldn't be nested.
935
+ -->
936
+ <!ELEMENT label %Inline;>
937
+ <!ATTLIST label
938
+ %attrs;
939
+ for IDREF #IMPLIED
940
+ accesskey %Character; #IMPLIED
941
+ onfocus %Script; #IMPLIED
942
+ onblur %Script; #IMPLIED
943
+ >
944
+
945
+ <!ENTITY % InputType
946
+ "(text | password | checkbox |
947
+ radio | submit | reset |
948
+ file | hidden | image | button)"
949
+ >
950
+
951
+ <!-- the name attribute is required for all but submit & reset -->
952
+
953
+ <!ELEMENT input EMPTY> <!-- form control -->
954
+ <!ATTLIST input
955
+ %attrs;
956
+ %focus;
957
+ type %InputType; "text"
958
+ name CDATA #IMPLIED
959
+ value CDATA #IMPLIED
960
+ checked (checked) #IMPLIED
961
+ disabled (disabled) #IMPLIED
962
+ readonly (readonly) #IMPLIED
963
+ size CDATA #IMPLIED
964
+ maxlength %Number; #IMPLIED
965
+ src %URI; #IMPLIED
966
+ alt CDATA #IMPLIED
967
+ usemap %URI; #IMPLIED
968
+ onselect %Script; #IMPLIED
969
+ onchange %Script; #IMPLIED
970
+ accept %ContentTypes; #IMPLIED
971
+ align %ImgAlign; #IMPLIED
972
+ >
973
+
974
+ <!ELEMENT select (optgroup|option)+> <!-- option selector -->
975
+ <!ATTLIST select
976
+ %attrs;
977
+ name CDATA #IMPLIED
978
+ size %Number; #IMPLIED
979
+ multiple (multiple) #IMPLIED
980
+ disabled (disabled) #IMPLIED
981
+ tabindex %Number; #IMPLIED
982
+ onfocus %Script; #IMPLIED
983
+ onblur %Script; #IMPLIED
984
+ onchange %Script; #IMPLIED
985
+ >
986
+
987
+ <!ELEMENT optgroup (option)+> <!-- option group -->
988
+ <!ATTLIST optgroup
989
+ %attrs;
990
+ disabled (disabled) #IMPLIED
991
+ label %Text; #REQUIRED
992
+ >
993
+
994
+ <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
995
+ <!ATTLIST option
996
+ %attrs;
997
+ selected (selected) #IMPLIED
998
+ disabled (disabled) #IMPLIED
999
+ label %Text; #IMPLIED
1000
+ value CDATA #IMPLIED
1001
+ >
1002
+
1003
+ <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
1004
+ <!ATTLIST textarea
1005
+ %attrs;
1006
+ %focus;
1007
+ name CDATA #IMPLIED
1008
+ rows %Number; #REQUIRED
1009
+ cols %Number; #REQUIRED
1010
+ disabled (disabled) #IMPLIED
1011
+ readonly (readonly) #IMPLIED
1012
+ onselect %Script; #IMPLIED
1013
+ onchange %Script; #IMPLIED
1014
+ >
1015
+
1016
+ <!--
1017
+ The fieldset element is used to group form fields.
1018
+ Only one legend element should occur in the content
1019
+ and if present should only be preceded by whitespace.
1020
+ -->
1021
+ <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
1022
+ <!ATTLIST fieldset
1023
+ %attrs;
1024
+ >
1025
+
1026
+ <!ENTITY % LAlign "(top|bottom|left|right)">
1027
+
1028
+ <!ELEMENT legend %Inline;> <!-- fieldset label -->
1029
+ <!ATTLIST legend
1030
+ %attrs;
1031
+ accesskey %Character; #IMPLIED
1032
+ align %LAlign; #IMPLIED
1033
+ >
1034
+
1035
+ <!--
1036
+ Content is %Flow; excluding a, form, form controls, iframe
1037
+ -->
1038
+ <!ELEMENT button %button.content;> <!-- push button -->
1039
+ <!ATTLIST button
1040
+ %attrs;
1041
+ %focus;
1042
+ name CDATA #IMPLIED
1043
+ value CDATA #IMPLIED
1044
+ type (button|submit|reset) "submit"
1045
+ disabled (disabled) #IMPLIED
1046
+ >
1047
+
1048
+ <!-- single-line text input control (DEPRECATED) -->
1049
+ <!ELEMENT isindex EMPTY>
1050
+ <!ATTLIST isindex
1051
+ %coreattrs;
1052
+ %i18n;
1053
+ prompt %Text; #IMPLIED
1054
+ >
1055
+
1056
+ <!--======================= Tables =======================================-->
1057
+
1058
+ <!-- Derived from IETF HTML table standard, see [RFC1942] -->
1059
+
1060
+ <!--
1061
+ The border attribute sets the thickness of the frame around the
1062
+ table. The default units are screen pixels.
1063
+
1064
+ The frame attribute specifies which parts of the frame around
1065
+ the table should be rendered. The values are not the same as
1066
+ CALS to avoid a name clash with the valign attribute.
1067
+ -->
1068
+ <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1069
+
1070
+ <!--
1071
+ The rules attribute defines which rules to draw between cells:
1072
+
1073
+ If rules is absent then assume:
1074
+ "none" if border is absent or border="0" otherwise "all"
1075
+ -->
1076
+
1077
+ <!ENTITY % TRules "(none | groups | rows | cols | all)">
1078
+
1079
+ <!-- horizontal placement of table relative to document -->
1080
+ <!ENTITY % TAlign "(left|center|right)">
1081
+
1082
+ <!-- horizontal alignment attributes for cell contents
1083
+
1084
+ char alignment char, e.g. char=":"
1085
+ charoff offset for alignment char
1086
+ -->
1087
+ <!ENTITY % cellhalign
1088
+ "align (left|center|right|justify|char) #IMPLIED
1089
+ char %Character; #IMPLIED
1090
+ charoff %Length; #IMPLIED"
1091
+ >
1092
+
1093
+ <!-- vertical alignment attributes for cell contents -->
1094
+ <!ENTITY % cellvalign
1095
+ "valign (top|middle|bottom|baseline) #IMPLIED"
1096
+ >
1097
+
1098
+ <!ELEMENT table
1099
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1100
+ <!ELEMENT caption %Inline;>
1101
+ <!ELEMENT thead (tr)+>
1102
+ <!ELEMENT tfoot (tr)+>
1103
+ <!ELEMENT tbody (tr)+>
1104
+ <!ELEMENT colgroup (col)*>
1105
+ <!ELEMENT col EMPTY>
1106
+ <!ELEMENT tr (th|td)+>
1107
+ <!ELEMENT th %Flow;>
1108
+ <!ELEMENT td %Flow;>
1109
+
1110
+ <!ATTLIST table
1111
+ %attrs;
1112
+ summary %Text; #IMPLIED
1113
+ width %Length; #IMPLIED
1114
+ border %Pixels; #IMPLIED
1115
+ frame %TFrame; #IMPLIED
1116
+ rules %TRules; #IMPLIED
1117
+ cellspacing %Length; #IMPLIED
1118
+ cellpadding %Length; #IMPLIED
1119
+ align %TAlign; #IMPLIED
1120
+ bgcolor %Color; #IMPLIED
1121
+ >
1122
+
1123
+ <!ENTITY % CAlign "(top|bottom|left|right)">
1124
+
1125
+ <!ATTLIST caption
1126
+ %attrs;
1127
+ align %CAlign; #IMPLIED
1128
+ >
1129
+
1130
+ <!--
1131
+ colgroup groups a set of col elements. It allows you to group
1132
+ several semantically related columns together.
1133
+ -->
1134
+ <!ATTLIST colgroup
1135
+ %attrs;
1136
+ span %Number; "1"
1137
+ width %MultiLength; #IMPLIED
1138
+ %cellhalign;
1139
+ %cellvalign;
1140
+ >
1141
+
1142
+ <!--
1143
+ col elements define the alignment properties for cells in
1144
+ one or more columns.
1145
+
1146
+ The width attribute specifies the width of the columns, e.g.
1147
+
1148
+ width=64 width in screen pixels
1149
+ width=0.5* relative width of 0.5
1150
+
1151
+ The span attribute causes the attributes of one
1152
+ col element to apply to more than one column.
1153
+ -->
1154
+ <!ATTLIST col
1155
+ %attrs;
1156
+ span %Number; "1"
1157
+ width %MultiLength; #IMPLIED
1158
+ %cellhalign;
1159
+ %cellvalign;
1160
+ >
1161
+
1162
+ <!--
1163
+ Use thead to duplicate headers when breaking table
1164
+ across page boundaries, or for static headers when
1165
+ tbody sections are rendered in scrolling panel.
1166
+
1167
+ Use tfoot to duplicate footers when breaking table
1168
+ across page boundaries, or for static footers when
1169
+ tbody sections are rendered in scrolling panel.
1170
+
1171
+ Use multiple tbody sections when rules are needed
1172
+ between groups of table rows.
1173
+ -->
1174
+ <!ATTLIST thead
1175
+ %attrs;
1176
+ %cellhalign;
1177
+ %cellvalign;
1178
+ >
1179
+
1180
+ <!ATTLIST tfoot
1181
+ %attrs;
1182
+ %cellhalign;
1183
+ %cellvalign;
1184
+ >
1185
+
1186
+ <!ATTLIST tbody
1187
+ %attrs;
1188
+ %cellhalign;
1189
+ %cellvalign;
1190
+ >
1191
+
1192
+ <!ATTLIST tr
1193
+ %attrs;
1194
+ %cellhalign;
1195
+ %cellvalign;
1196
+ bgcolor %Color; #IMPLIED
1197
+ >
1198
+
1199
+ <!-- Scope is simpler than headers attribute for common tables -->
1200
+ <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1201
+
1202
+ <!-- th is for headers, td for data and for cells acting as both -->
1203
+
1204
+ <!ATTLIST th
1205
+ %attrs;
1206
+ abbr %Text; #IMPLIED
1207
+ axis CDATA #IMPLIED
1208
+ headers IDREFS #IMPLIED
1209
+ scope %Scope; #IMPLIED
1210
+ rowspan %Number; "1"
1211
+ colspan %Number; "1"
1212
+ %cellhalign;
1213
+ %cellvalign;
1214
+ nowrap (nowrap) #IMPLIED
1215
+ bgcolor %Color; #IMPLIED
1216
+ width %Pixels; #IMPLIED
1217
+ height %Pixels; #IMPLIED
1218
+ >
1219
+
1220
+ <!ATTLIST td
1221
+ %attrs;
1222
+ abbr %Text; #IMPLIED
1223
+ axis CDATA #IMPLIED
1224
+ headers IDREFS #IMPLIED
1225
+ scope %Scope; #IMPLIED
1226
+ rowspan %Number; "1"
1227
+ colspan %Number; "1"
1228
+ %cellhalign;
1229
+ %cellvalign;
1230
+ nowrap (nowrap) #IMPLIED
1231
+ bgcolor %Color; #IMPLIED
1232
+ width %Pixels; #IMPLIED
1233
+ height %Pixels; #IMPLIED
1234
+ >
1235
+