envjs 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. data/.jslintrbrc +29 -0
  2. data/.project +17 -0
  3. data/CHANGELOG.rdoc +3 -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 +287 -0
  14. data/{README → README.rdoc} +24 -3
  15. data/Rakefile +196 -0
  16. data/Wakefile +24 -0
  17. data/build.properties +9 -0
  18. data/build.xml +247 -0
  19. data/gm/jquery.js +6002 -0
  20. data/gm/mainx.js +2648 -0
  21. data/gm/sensx.js +135 -0
  22. data/gm/t.js +6 -0
  23. data/gm/x.html +76 -0
  24. data/htmlparser/BrowserTreeBuilder.java +456 -0
  25. data/htmlparser/README +34 -0
  26. data/htmlparser/build.sh +38 -0
  27. data/jsl/jsl +0 -0
  28. data/jsl/jsl.default.conf +129 -0
  29. data/jsl/jsl.exe +0 -0
  30. data/lib/envjs.rb +2 -0
  31. data/lib/envjs/env.js +22 -3
  32. data/lib/envjs/event_loop.js +2 -0
  33. data/lib/envjs/static.js +155 -21
  34. data/licenses/GPL-LICENSE.txt +278 -0
  35. data/licenses/MIT-LICENSE.txt +20 -0
  36. data/src/base64.js +80 -0
  37. data/src/build.js +6 -0
  38. data/src/cruft/bad.html +24 -0
  39. data/src/cruft/dom.js +606 -0
  40. data/src/cruft/element.js +297 -0
  41. data/src/cruft/good.html +30 -0
  42. data/src/cruft/good.js +32 -0
  43. data/src/cruft/internal.js +81 -0
  44. data/src/cruft/parser.js +458 -0
  45. data/src/css/properties.js +293 -0
  46. data/src/css/rule.js +22 -0
  47. data/src/css/sizzle.js +717 -0
  48. data/src/css/stylesheet.js +52 -0
  49. data/src/dom/attr.js +55 -0
  50. data/src/dom/cdatasection.js +31 -0
  51. data/src/dom/characterdata.js +119 -0
  52. data/src/dom/comment.js +30 -0
  53. data/src/dom/doctype.js +9 -0
  54. data/src/dom/document.js +553 -0
  55. data/src/dom/dom.js +134 -0
  56. data/src/dom/element.js +217 -0
  57. data/src/dom/entities.js +273 -0
  58. data/src/dom/exception.js +28 -0
  59. data/src/dom/fragment.js +37 -0
  60. data/src/dom/implementation.js +602 -0
  61. data/src/dom/instruction.js +51 -0
  62. data/src/dom/namednodemap.js +374 -0
  63. data/src/dom/namespace.js +50 -0
  64. data/src/dom/node.js +618 -0
  65. data/src/dom/nodelist.js +195 -0
  66. data/src/dom/parser.js +1207 -0
  67. data/src/dom/text.js +73 -0
  68. data/src/event/event.js +39 -0
  69. data/src/event/mouseevent.js +4 -0
  70. data/src/event/uievent.js +8 -0
  71. data/src/html/a.js +110 -0
  72. data/src/html/anchor.js +80 -0
  73. data/src/html/area.js +57 -0
  74. data/src/html/base.js +26 -0
  75. data/src/html/blockquote-q.js +19 -0
  76. data/src/html/body.js +19 -0
  77. data/src/html/button.js +21 -0
  78. data/src/html/canvas.js +14 -0
  79. data/src/html/col-colgroup.js +49 -0
  80. data/src/html/collection.js +72 -0
  81. data/src/html/cookie.js +151 -0
  82. data/src/html/del-ins.js +25 -0
  83. data/src/html/div.js +28 -0
  84. data/src/html/document.js +359 -0
  85. data/src/html/element.js +380 -0
  86. data/src/html/fieldset.js +19 -0
  87. data/src/html/form.js +484 -0
  88. data/src/html/frame.js +89 -0
  89. data/src/html/frameset.js +25 -0
  90. data/src/html/head.js +44 -0
  91. data/src/html/html.js +0 -0
  92. data/src/html/htmlparser.js +340 -0
  93. data/src/html/iframe.js +26 -0
  94. data/src/html/image.js +0 -0
  95. data/src/html/img.js +62 -0
  96. data/src/html/input-elements.js +307 -0
  97. data/src/html/input.js +65 -0
  98. data/src/html/label.js +26 -0
  99. data/src/html/legend.js +19 -0
  100. data/src/html/link.js +82 -0
  101. data/src/html/map.js +22 -0
  102. data/src/html/meta.js +37 -0
  103. data/src/html/object.js +89 -0
  104. data/src/html/optgroup.js +25 -0
  105. data/src/html/option.js +97 -0
  106. data/src/html/param.js +38 -0
  107. data/src/html/script.js +122 -0
  108. data/src/html/select.js +129 -0
  109. data/src/html/style.js +31 -0
  110. data/src/html/table.js +199 -0
  111. data/src/html/tbody-thead-tfoot.js +91 -0
  112. data/src/html/td-th.js +18 -0
  113. data/src/html/textarea.js +25 -0
  114. data/src/html/title.js +20 -0
  115. data/src/html/tr.js +114 -0
  116. data/src/intro.js +141 -0
  117. data/src/outro.js +70 -0
  118. data/src/parser/html5.detailed.js +10762 -0
  119. data/src/parser/html5.min.js +503 -0
  120. data/src/parser/html5.pretty.js +10815 -0
  121. data/src/parser/intro.js +42 -0
  122. data/src/parser/outro.js +9 -0
  123. data/src/platform/core.js +323 -0
  124. data/src/platform/johnson.js +479 -0
  125. data/src/platform/rhino.js +327 -0
  126. data/src/platform/static/intro.js +41 -0
  127. data/src/platform/static/outro.js +30 -0
  128. data/src/profile/aop.js +238 -0
  129. data/src/profile/profile.js +402 -0
  130. data/src/serializer/xml.js +21 -0
  131. data/src/svg/animatedstring.js +25 -0
  132. data/src/svg/document.js +25 -0
  133. data/src/svg/element.js +22 -0
  134. data/src/svg/locatable.js +17 -0
  135. data/src/svg/rect.js +18 -0
  136. data/src/svg/rectelement.js +24 -0
  137. data/src/svg/stylable.js +49 -0
  138. data/src/svg/svgelement.js +22 -0
  139. data/src/svg/transformable.js +15 -0
  140. data/src/window/css.js +15 -0
  141. data/src/window/dialog.js +16 -0
  142. data/src/window/document.js +28 -0
  143. data/src/window/event.js +262 -0
  144. data/src/window/history.js +62 -0
  145. data/src/window/location.js +138 -0
  146. data/src/window/navigator.js +48 -0
  147. data/src/window/screen.js +53 -0
  148. data/src/window/timer.js +21 -0
  149. data/src/window/window.js +284 -0
  150. data/src/window/xhr.js +127 -0
  151. data/src/xpath/expression.js +49 -0
  152. data/src/xpath/implementation.js +2482 -0
  153. data/src/xpath/result.js +67 -0
  154. data/src/xpath/util.js +551 -0
  155. data/src/xpath/xmltoken.js +149 -0
  156. data/src/xslt/COPYING +34 -0
  157. data/src/xslt/ajaxslt-0.8.1/AUTHORS +1 -0
  158. data/src/xslt/ajaxslt-0.8.1/ChangeLog +136 -0
  159. data/src/xslt/ajaxslt-0.8.1/Makefile +49 -0
  160. data/src/xslt/ajaxslt-0.8.1/README +102 -0
  161. data/src/xslt/ajaxslt-0.8.1/TODO +15 -0
  162. data/src/xslt/ajaxslt-0.8.1/dom.js +566 -0
  163. data/src/xslt/ajaxslt-0.8.1/dom_unittest.html +24 -0
  164. data/src/xslt/ajaxslt-0.8.1/dom_unittest.js +131 -0
  165. data/src/xslt/ajaxslt-0.8.1/simplelog.js +79 -0
  166. data/src/xslt/ajaxslt-0.8.1/test/xpath.html +18 -0
  167. data/src/xslt/ajaxslt-0.8.1/test/xpath_script.js +45 -0
  168. data/src/xslt/ajaxslt-0.8.1/test/xslt.html +58 -0
  169. data/src/xslt/ajaxslt-0.8.1/test/xslt_script.js +33 -0
  170. data/src/xslt/ajaxslt-0.8.1/unittestsuite.html +26 -0
  171. data/src/xslt/ajaxslt-0.8.1/xmltoken.js +149 -0
  172. data/src/xslt/ajaxslt-0.8.1/xmltoken_unittest.html +18 -0
  173. data/src/xslt/ajaxslt-0.8.1/xmltoken_unittest.js +811 -0
  174. data/src/xslt/ajaxslt-0.8.1/xpath_unittest.html +39 -0
  175. data/src/xslt/ajaxslt-0.8.1/xpath_unittest.js +557 -0
  176. data/src/xslt/ajaxslt-0.8.1/xpathdebug.js +234 -0
  177. data/src/xslt/ajaxslt-0.8.1/xslt_unittest.html +138 -0
  178. data/src/xslt/ajaxslt-0.8.1/xslt_unittest.js +68 -0
  179. data/src/xslt/implementation.js +625 -0
  180. data/src/xslt/processor.js +37 -0
  181. data/src/xslt/util.js +449 -0
  182. data/test/foo.html +8 -0
  183. data/test/foo.js +40 -0
  184. data/test/jquery.js +6002 -0
  185. data/test/x.js +1 -0
  186. data/test/y.js +1 -0
  187. metadata +245 -14
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
+