validate-website 0.3.5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,870 @@
1
+ <!--
2
+ This is HTML 4.01 Strict DTD, which excludes the presentation
3
+ attributes and elements that W3C expects to phase out as
4
+ support for style sheets matures. Authors should use the Strict
5
+ DTD when possible, but may use the Transitional DTD when support
6
+ for presentation attribute and elements is required.
7
+
8
+ HTML 4 includes mechanisms for style sheets, scripting,
9
+ embedding objects, improved support for right to left and mixed
10
+ direction text, and enhancements to forms for improved
11
+ accessibility for people with disabilities.
12
+
13
+ Draft: $Date: 1999/12/24 23:37:48 $
14
+
15
+ Authors:
16
+ Dave Raggett <dsr@w3.org>
17
+ Arnaud Le Hors <lehors@w3.org>
18
+ Ian Jacobs <ij@w3.org>
19
+
20
+ Further information about HTML 4.01 is available at:
21
+
22
+ http://www.w3.org/TR/1999/REC-html401-19991224
23
+
24
+
25
+ The HTML 4.01 specification includes additional
26
+ syntactic constraints that cannot be expressed within
27
+ the DTDs.
28
+
29
+ -->
30
+ <!--
31
+ Typical usage:
32
+
33
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
34
+ "http://www.w3.org/TR/html4/strict.dtd">
35
+ <html>
36
+ <head>
37
+ ...
38
+ </head>
39
+ <body>
40
+ ...
41
+ </body>
42
+ </html>
43
+
44
+ The URI used as a system identifier with the public identifier allows
45
+ the user agent to download the DTD and entity sets as needed.
46
+
47
+ The FPI for the Transitional HTML 4.01 DTD is:
48
+
49
+ "-//W3C//DTD HTML 4.01 Transitional//EN"
50
+
51
+ This version of the transitional DTD is:
52
+
53
+ http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd
54
+
55
+ If you are writing a document that includes frames, use
56
+ the following FPI:
57
+
58
+ "-//W3C//DTD HTML 4.01 Frameset//EN"
59
+
60
+ This version of the frameset DTD is:
61
+
62
+ http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd
63
+
64
+ Use the following (relative) URIs to refer to
65
+ the DTDs and entity definitions of this specification:
66
+
67
+ "strict.dtd"
68
+ "loose.dtd"
69
+ "frameset.dtd"
70
+ "HTMLlat1.ent"
71
+ "HTMLsymbol.ent"
72
+ "HTMLspecial.ent"
73
+
74
+ -->
75
+
76
+ <!--================== Imported Names ====================================-->
77
+ <!-- Feature Switch for frameset documents -->
78
+ <!ENTITY % HTML.Frameset "IGNORE">
79
+
80
+ <!ENTITY % ContentType "CDATA"
81
+ -- media type, as per [RFC2045]
82
+ -->
83
+
84
+ <!ENTITY % ContentTypes "CDATA"
85
+ -- comma-separated list of media types, as per [RFC2045]
86
+ -->
87
+
88
+ <!ENTITY % Charset "CDATA"
89
+ -- a character encoding, as per [RFC2045]
90
+ -->
91
+
92
+ <!ENTITY % Charsets "CDATA"
93
+ -- a space-separated list of character encodings, as per [RFC2045]
94
+ -->
95
+
96
+ <!ENTITY % LanguageCode "NAME"
97
+ -- a language code, as per [RFC1766]
98
+ -->
99
+
100
+ <!ENTITY % Character "CDATA"
101
+ -- a single character from [ISO10646]
102
+ -->
103
+
104
+ <!ENTITY % LinkTypes "CDATA"
105
+ -- space-separated list of link types
106
+ -->
107
+
108
+ <!ENTITY % MediaDesc "CDATA"
109
+ -- single or comma-separated list of media descriptors
110
+ -->
111
+
112
+ <!ENTITY % URI "CDATA"
113
+ -- a Uniform Resource Identifier,
114
+ see [URI]
115
+ -->
116
+
117
+ <!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
118
+
119
+
120
+ <!ENTITY % Script "CDATA" -- script expression -->
121
+
122
+ <!ENTITY % StyleSheet "CDATA" -- style sheet data -->
123
+
124
+
125
+
126
+ <!ENTITY % Text "CDATA">
127
+
128
+
129
+ <!-- Parameter Entities -->
130
+
131
+ <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
132
+
133
+ <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
134
+
135
+ <!ENTITY % list "UL | OL">
136
+
137
+ <!ENTITY % preformatted "PRE">
138
+
139
+
140
+ <!--================ Character mnemonic entities =========================-->
141
+
142
+ <!ENTITY % HTMLlat1 PUBLIC
143
+ "-//W3C//ENTITIES Latin1//EN//HTML"
144
+ "HTMLlat1.ent">
145
+ %HTMLlat1;
146
+
147
+ <!ENTITY % HTMLsymbol PUBLIC
148
+ "-//W3C//ENTITIES Symbols//EN//HTML"
149
+ "HTMLsymbol.ent">
150
+ %HTMLsymbol;
151
+
152
+ <!ENTITY % HTMLspecial PUBLIC
153
+ "-//W3C//ENTITIES Special//EN//HTML"
154
+ "HTMLspecial.ent">
155
+ %HTMLspecial;
156
+ <!--=================== Generic Attributes ===============================-->
157
+
158
+ <!ENTITY % coreattrs
159
+ "id ID #IMPLIED -- document-wide unique id --
160
+ class CDATA #IMPLIED -- space-separated list of classes --
161
+ style %StyleSheet; #IMPLIED -- associated style info --
162
+ title %Text; #IMPLIED -- advisory title --"
163
+ >
164
+
165
+ <!ENTITY % i18n
166
+ "lang %LanguageCode; #IMPLIED -- language code --
167
+ dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --"
168
+ >
169
+
170
+ <!ENTITY % events
171
+ "onclick %Script; #IMPLIED -- a pointer button was clicked --
172
+ ondblclick %Script; #IMPLIED -- a pointer button was double clicked--
173
+ onmousedown %Script; #IMPLIED -- a pointer button was pressed down --
174
+ onmouseup %Script; #IMPLIED -- a pointer button was released --
175
+ onmouseover %Script; #IMPLIED -- a pointer was moved onto --
176
+ onmousemove %Script; #IMPLIED -- a pointer was moved within --
177
+ onmouseout %Script; #IMPLIED -- a pointer was moved away --
178
+ onkeypress %Script; #IMPLIED -- a key was pressed and released --
179
+ onkeydown %Script; #IMPLIED -- a key was pressed down --
180
+ onkeyup %Script; #IMPLIED -- a key was released --"
181
+ >
182
+
183
+ <!-- Reserved Feature Switch -->
184
+ <!ENTITY % HTML.Reserved "IGNORE">
185
+
186
+ <!-- The following attributes are reserved for possible future use -->
187
+ <![ %HTML.Reserved; [
188
+ <!ENTITY % reserved
189
+ "datasrc %URI; #IMPLIED -- a single or tabular Data Source --
190
+ datafld CDATA #IMPLIED -- the property or column name --
191
+ dataformatas (plaintext|html) plaintext -- text or html --"
192
+ >
193
+ ]]>
194
+
195
+ <!ENTITY % reserved "">
196
+
197
+ <!ENTITY % attrs "%coreattrs; %i18n; %events;">
198
+
199
+
200
+ <!--=================== Text Markup ======================================-->
201
+
202
+ <!ENTITY % fontstyle
203
+ "TT | I | B | BIG | SMALL">
204
+
205
+ <!ENTITY % phrase "EM | STRONG | DFN | CODE |
206
+ SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
207
+
208
+ <!ENTITY % special
209
+ "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
210
+
211
+ <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
212
+
213
+ <!-- %inline; covers inline or "text-level" elements -->
214
+ <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
215
+
216
+ <!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
217
+ <!ATTLIST (%fontstyle;|%phrase;)
218
+ %attrs; -- %coreattrs, %i18n, %events --
219
+ >
220
+
221
+ <!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
222
+ <!ATTLIST (SUB|SUP)
223
+ %attrs; -- %coreattrs, %i18n, %events --
224
+ >
225
+
226
+ <!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
227
+ <!ATTLIST SPAN
228
+ %attrs; -- %coreattrs, %i18n, %events --
229
+ %reserved; -- reserved for possible future use --
230
+ >
231
+
232
+ <!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
233
+ <!ATTLIST BDO
234
+ %coreattrs; -- id, class, style, title --
235
+ lang %LanguageCode; #IMPLIED -- language code --
236
+ dir (ltr|rtl) #REQUIRED -- directionality --
237
+ >
238
+
239
+
240
+ <!ELEMENT BR - O EMPTY -- forced line break -->
241
+ <!ATTLIST BR
242
+ %coreattrs; -- id, class, style, title --
243
+ >
244
+
245
+ <!--================== HTML content models ===============================-->
246
+
247
+ <!--
248
+ HTML has two basic content models:
249
+
250
+ %inline; character level elements and text strings
251
+ %block; block-like elements e.g. paragraphs and lists
252
+ -->
253
+
254
+ <!ENTITY % block
255
+ "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
256
+ BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
257
+
258
+ <!ENTITY % flow "%block; | %inline;">
259
+
260
+ <!--=================== Document Body ====================================-->
261
+
262
+ <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
263
+ <!ATTLIST BODY
264
+ %attrs; -- %coreattrs, %i18n, %events --
265
+ onload %Script; #IMPLIED -- the document has been loaded --
266
+ onunload %Script; #IMPLIED -- the document has been removed --
267
+ >
268
+
269
+ <!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
270
+ <!ATTLIST ADDRESS
271
+ %attrs; -- %coreattrs, %i18n, %events --
272
+ >
273
+
274
+ <!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
275
+ <!ATTLIST DIV
276
+ %attrs; -- %coreattrs, %i18n, %events --
277
+ %reserved; -- reserved for possible future use --
278
+ >
279
+
280
+
281
+ <!--================== The Anchor Element ================================-->
282
+
283
+ <!ENTITY % Shape "(rect|circle|poly|default)">
284
+ <!ENTITY % Coords "CDATA" -- comma-separated list of lengths -->
285
+
286
+ <!ELEMENT A - - (%inline;)* -(A) -- anchor -->
287
+ <!ATTLIST A
288
+ %attrs; -- %coreattrs, %i18n, %events --
289
+ charset %Charset; #IMPLIED -- char encoding of linked resource --
290
+ type %ContentType; #IMPLIED -- advisory content type --
291
+ name CDATA #IMPLIED -- named link end --
292
+ href %URI; #IMPLIED -- URI for linked resource --
293
+ hreflang %LanguageCode; #IMPLIED -- language code --
294
+ rel %LinkTypes; #IMPLIED -- forward link types --
295
+ rev %LinkTypes; #IMPLIED -- reverse link types --
296
+ accesskey %Character; #IMPLIED -- accessibility key character --
297
+ shape %Shape; rect -- for use with client-side image maps --
298
+ coords %Coords; #IMPLIED -- for use with client-side image maps --
299
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
300
+ onfocus %Script; #IMPLIED -- the element got the focus --
301
+ onblur %Script; #IMPLIED -- the element lost the focus --
302
+ >
303
+
304
+ <!--================== Client-side image maps ============================-->
305
+
306
+ <!-- These can be placed in the same document or grouped in a
307
+ separate document although this isn't yet widely supported -->
308
+
309
+ <!ELEMENT MAP - - ((%block;) | AREA)+ -- client-side image map -->
310
+ <!ATTLIST MAP
311
+ %attrs; -- %coreattrs, %i18n, %events --
312
+ name CDATA #REQUIRED -- for reference by usemap --
313
+ >
314
+
315
+ <!ELEMENT AREA - O EMPTY -- client-side image map area -->
316
+ <!ATTLIST AREA
317
+ %attrs; -- %coreattrs, %i18n, %events --
318
+ shape %Shape; rect -- controls interpretation of coords --
319
+ coords %Coords; #IMPLIED -- comma-separated list of lengths --
320
+ href %URI; #IMPLIED -- URI for linked resource --
321
+ nohref (nohref) #IMPLIED -- this region has no action --
322
+ alt %Text; #REQUIRED -- short description --
323
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
324
+ accesskey %Character; #IMPLIED -- accessibility key character --
325
+ onfocus %Script; #IMPLIED -- the element got the focus --
326
+ onblur %Script; #IMPLIED -- the element lost the focus --
327
+ >
328
+
329
+ <!--================== The LINK Element ==================================-->
330
+
331
+ <!--
332
+ Relationship values can be used in principle:
333
+
334
+ a) for document specific toolbars/menus when used
335
+ with the LINK element in document head e.g.
336
+ start, contents, previous, next, index, end, help
337
+ b) to link to a separate style sheet (rel=stylesheet)
338
+ c) to make a link to a script (rel=script)
339
+ d) by stylesheets to control how collections of
340
+ html nodes are rendered into printed documents
341
+ e) to make a link to a printable version of this document
342
+ e.g. a postscript or pdf version (rel=alternate media=print)
343
+ -->
344
+
345
+ <!ELEMENT LINK - O EMPTY -- a media-independent link -->
346
+ <!ATTLIST LINK
347
+ %attrs; -- %coreattrs, %i18n, %events --
348
+ charset %Charset; #IMPLIED -- char encoding of linked resource --
349
+ href %URI; #IMPLIED -- URI for linked resource --
350
+ hreflang %LanguageCode; #IMPLIED -- language code --
351
+ type %ContentType; #IMPLIED -- advisory content type --
352
+ rel %LinkTypes; #IMPLIED -- forward link types --
353
+ rev %LinkTypes; #IMPLIED -- reverse link types --
354
+ media %MediaDesc; #IMPLIED -- for rendering on these media --
355
+ >
356
+
357
+ <!--=================== Images ===========================================-->
358
+
359
+ <!-- Length defined in strict DTD for cellpadding/cellspacing -->
360
+ <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
361
+ <!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
362
+
363
+ <![ %HTML.Frameset; [
364
+ <!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
365
+ ]]>
366
+
367
+ <!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
368
+
369
+
370
+ <!-- To avoid problems with text-only UAs as well as
371
+ to make image content understandable and navigable
372
+ to users of non-visual UAs, you need to provide
373
+ a description with ALT, and avoid server-side image maps -->
374
+ <!ELEMENT IMG - O EMPTY -- Embedded image -->
375
+ <!ATTLIST IMG
376
+ %attrs; -- %coreattrs, %i18n, %events --
377
+ src %URI; #REQUIRED -- URI of image to embed --
378
+ alt %Text; #REQUIRED -- short description --
379
+ longdesc %URI; #IMPLIED -- link to long description
380
+ (complements alt) --
381
+ name CDATA #IMPLIED -- name of image for scripting --
382
+ height %Length; #IMPLIED -- override height --
383
+ width %Length; #IMPLIED -- override width --
384
+ usemap %URI; #IMPLIED -- use client-side image map --
385
+ ismap (ismap) #IMPLIED -- use server-side image map --
386
+ >
387
+
388
+ <!-- USEMAP points to a MAP element which may be in this document
389
+ or an external document, although the latter is not widely supported -->
390
+
391
+ <!--==================== OBJECT ======================================-->
392
+ <!--
393
+ OBJECT is used to embed objects as part of HTML pages
394
+ PARAM elements should precede other content. SGML mixed content
395
+ model technicality precludes specifying this formally ...
396
+ -->
397
+
398
+ <!ELEMENT OBJECT - - (PARAM | %flow;)*
399
+ -- generic embedded object -->
400
+ <!ATTLIST OBJECT
401
+ %attrs; -- %coreattrs, %i18n, %events --
402
+ declare (declare) #IMPLIED -- declare but don't instantiate flag --
403
+ classid %URI; #IMPLIED -- identifies an implementation --
404
+ codebase %URI; #IMPLIED -- base URI for classid, data, archive--
405
+ data %URI; #IMPLIED -- reference to object's data --
406
+ type %ContentType; #IMPLIED -- content type for data --
407
+ codetype %ContentType; #IMPLIED -- content type for code --
408
+ archive CDATA #IMPLIED -- space-separated list of URIs --
409
+ standby %Text; #IMPLIED -- message to show while loading --
410
+ height %Length; #IMPLIED -- override height --
411
+ width %Length; #IMPLIED -- override width --
412
+ usemap %URI; #IMPLIED -- use client-side image map --
413
+ name CDATA #IMPLIED -- submit as part of form --
414
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
415
+ %reserved; -- reserved for possible future use --
416
+ >
417
+
418
+ <!ELEMENT PARAM - O EMPTY -- named property value -->
419
+ <!ATTLIST PARAM
420
+ id ID #IMPLIED -- document-wide unique id --
421
+ name CDATA #REQUIRED -- property name --
422
+ value CDATA #IMPLIED -- property value --
423
+ valuetype (DATA|REF|OBJECT) DATA -- How to interpret value --
424
+ type %ContentType; #IMPLIED -- content type for value
425
+ when valuetype=ref --
426
+ >
427
+
428
+
429
+ <!--=================== Horizontal Rule ==================================-->
430
+
431
+ <!ELEMENT HR - O EMPTY -- horizontal rule -->
432
+ <!ATTLIST HR
433
+ %attrs; -- %coreattrs, %i18n, %events --
434
+ >
435
+
436
+ <!--=================== Paragraphs =======================================-->
437
+
438
+ <!ELEMENT P - O (%inline;)* -- paragraph -->
439
+ <!ATTLIST P
440
+ %attrs; -- %coreattrs, %i18n, %events --
441
+ >
442
+
443
+ <!--=================== Headings =========================================-->
444
+
445
+ <!--
446
+ There are six levels of headings from H1 (the most important)
447
+ to H6 (the least important).
448
+ -->
449
+
450
+ <!ELEMENT (%heading;) - - (%inline;)* -- heading -->
451
+ <!ATTLIST (%heading;)
452
+ %attrs; -- %coreattrs, %i18n, %events --
453
+ >
454
+
455
+ <!--=================== Preformatted Text ================================-->
456
+
457
+ <!-- excludes markup for images and changes in font size -->
458
+ <!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
459
+
460
+ <!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
461
+ <!ATTLIST PRE
462
+ %attrs; -- %coreattrs, %i18n, %events --
463
+ >
464
+
465
+ <!--===================== Inline Quotes ==================================-->
466
+
467
+ <!ELEMENT Q - - (%inline;)* -- short inline quotation -->
468
+ <!ATTLIST Q
469
+ %attrs; -- %coreattrs, %i18n, %events --
470
+ cite %URI; #IMPLIED -- URI for source document or msg --
471
+ >
472
+
473
+ <!--=================== Block-like Quotes ================================-->
474
+
475
+ <!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
476
+ <!ATTLIST BLOCKQUOTE
477
+ %attrs; -- %coreattrs, %i18n, %events --
478
+ cite %URI; #IMPLIED -- URI for source document or msg --
479
+ >
480
+
481
+ <!--=================== Inserted/Deleted Text ============================-->
482
+
483
+
484
+ <!-- INS/DEL are handled by inclusion on BODY -->
485
+ <!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text -->
486
+ <!ATTLIST (INS|DEL)
487
+ %attrs; -- %coreattrs, %i18n, %events --
488
+ cite %URI; #IMPLIED -- info on reason for change --
489
+ datetime %Datetime; #IMPLIED -- date and time of change --
490
+ >
491
+
492
+ <!--=================== Lists ============================================-->
493
+
494
+ <!-- definition lists - DT for term, DD for its definition -->
495
+
496
+ <!ELEMENT DL - - (DT|DD)+ -- definition list -->
497
+ <!ATTLIST DL
498
+ %attrs; -- %coreattrs, %i18n, %events --
499
+ >
500
+
501
+ <!ELEMENT DT - O (%inline;)* -- definition term -->
502
+ <!ELEMENT DD - O (%flow;)* -- definition description -->
503
+ <!ATTLIST (DT|DD)
504
+ %attrs; -- %coreattrs, %i18n, %events --
505
+ >
506
+
507
+
508
+ <!ELEMENT OL - - (LI)+ -- ordered list -->
509
+ <!ATTLIST OL
510
+ %attrs; -- %coreattrs, %i18n, %events --
511
+ >
512
+
513
+ <!-- Unordered Lists (UL) bullet styles -->
514
+ <!ELEMENT UL - - (LI)+ -- unordered list -->
515
+ <!ATTLIST UL
516
+ %attrs; -- %coreattrs, %i18n, %events --
517
+ >
518
+
519
+
520
+
521
+ <!ELEMENT LI - O (%flow;)* -- list item -->
522
+ <!ATTLIST LI
523
+ %attrs; -- %coreattrs, %i18n, %events --
524
+ >
525
+
526
+ <!--================ Forms ===============================================-->
527
+ <!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
528
+ <!ATTLIST FORM
529
+ %attrs; -- %coreattrs, %i18n, %events --
530
+ action %URI; #REQUIRED -- server-side form handler --
531
+ method (GET|POST) GET -- HTTP method used to submit the form--
532
+ enctype %ContentType; "application/x-www-form-urlencoded"
533
+ accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
534
+ name CDATA #IMPLIED -- name of form for scripting --
535
+ onsubmit %Script; #IMPLIED -- the form was submitted --
536
+ onreset %Script; #IMPLIED -- the form was reset --
537
+ accept-charset %Charsets; #IMPLIED -- list of supported charsets --
538
+ >
539
+
540
+ <!-- Each label must not contain more than ONE field -->
541
+ <!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
542
+ <!ATTLIST LABEL
543
+ %attrs; -- %coreattrs, %i18n, %events --
544
+ for IDREF #IMPLIED -- matches field ID value --
545
+ accesskey %Character; #IMPLIED -- accessibility key character --
546
+ onfocus %Script; #IMPLIED -- the element got the focus --
547
+ onblur %Script; #IMPLIED -- the element lost the focus --
548
+ >
549
+
550
+ <!ENTITY % InputType
551
+ "(TEXT | PASSWORD | CHECKBOX |
552
+ RADIO | SUBMIT | RESET |
553
+ FILE | HIDDEN | IMAGE | BUTTON)"
554
+ >
555
+
556
+ <!-- attribute name required for all but submit and reset -->
557
+ <!ELEMENT INPUT - O EMPTY -- form control -->
558
+ <!ATTLIST INPUT
559
+ %attrs; -- %coreattrs, %i18n, %events --
560
+ type %InputType; TEXT -- what kind of widget is needed --
561
+ name CDATA #IMPLIED -- submit as part of form --
562
+ value CDATA #IMPLIED -- Specify for radio buttons and checkboxes --
563
+ checked (checked) #IMPLIED -- for radio buttons and check boxes --
564
+ disabled (disabled) #IMPLIED -- unavailable in this context --
565
+ readonly (readonly) #IMPLIED -- for text and passwd --
566
+ size CDATA #IMPLIED -- specific to each type of field --
567
+ maxlength NUMBER #IMPLIED -- max chars for text fields --
568
+ src %URI; #IMPLIED -- for fields with images --
569
+ alt CDATA #IMPLIED -- short description --
570
+ usemap %URI; #IMPLIED -- use client-side image map --
571
+ ismap (ismap) #IMPLIED -- use server-side image map --
572
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
573
+ accesskey %Character; #IMPLIED -- accessibility key character --
574
+ onfocus %Script; #IMPLIED -- the element got the focus --
575
+ onblur %Script; #IMPLIED -- the element lost the focus --
576
+ onselect %Script; #IMPLIED -- some text was selected --
577
+ onchange %Script; #IMPLIED -- the element value was changed --
578
+ accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
579
+ %reserved; -- reserved for possible future use --
580
+ >
581
+
582
+ <!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
583
+ <!ATTLIST SELECT
584
+ %attrs; -- %coreattrs, %i18n, %events --
585
+ name CDATA #IMPLIED -- field name --
586
+ size NUMBER #IMPLIED -- rows visible --
587
+ multiple (multiple) #IMPLIED -- default is single selection --
588
+ disabled (disabled) #IMPLIED -- unavailable in this context --
589
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
590
+ onfocus %Script; #IMPLIED -- the element got the focus --
591
+ onblur %Script; #IMPLIED -- the element lost the focus --
592
+ onchange %Script; #IMPLIED -- the element value was changed --
593
+ %reserved; -- reserved for possible future use --
594
+ >
595
+
596
+ <!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
597
+ <!ATTLIST OPTGROUP
598
+ %attrs; -- %coreattrs, %i18n, %events --
599
+ disabled (disabled) #IMPLIED -- unavailable in this context --
600
+ label %Text; #REQUIRED -- for use in hierarchical menus --
601
+ >
602
+
603
+ <!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
604
+ <!ATTLIST OPTION
605
+ %attrs; -- %coreattrs, %i18n, %events --
606
+ selected (selected) #IMPLIED
607
+ disabled (disabled) #IMPLIED -- unavailable in this context --
608
+ label %Text; #IMPLIED -- for use in hierarchical menus --
609
+ value CDATA #IMPLIED -- defaults to element content --
610
+ >
611
+
612
+ <!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
613
+ <!ATTLIST TEXTAREA
614
+ %attrs; -- %coreattrs, %i18n, %events --
615
+ name CDATA #IMPLIED
616
+ rows NUMBER #REQUIRED
617
+ cols NUMBER #REQUIRED
618
+ disabled (disabled) #IMPLIED -- unavailable in this context --
619
+ readonly (readonly) #IMPLIED
620
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
621
+ accesskey %Character; #IMPLIED -- accessibility key character --
622
+ onfocus %Script; #IMPLIED -- the element got the focus --
623
+ onblur %Script; #IMPLIED -- the element lost the focus --
624
+ onselect %Script; #IMPLIED -- some text was selected --
625
+ onchange %Script; #IMPLIED -- the element value was changed --
626
+ %reserved; -- reserved for possible future use --
627
+ >
628
+
629
+ <!--
630
+ #PCDATA is to solve the mixed content problem,
631
+ per specification only whitespace is allowed there!
632
+ -->
633
+ <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
634
+ <!ATTLIST FIELDSET
635
+ %attrs; -- %coreattrs, %i18n, %events --
636
+ >
637
+
638
+ <!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
639
+
640
+ <!ATTLIST LEGEND
641
+ %attrs; -- %coreattrs, %i18n, %events --
642
+ accesskey %Character; #IMPLIED -- accessibility key character --
643
+ >
644
+
645
+ <!ELEMENT BUTTON - -
646
+ (%flow;)* -(A|%formctrl;|FORM|FIELDSET)
647
+ -- push button -->
648
+ <!ATTLIST BUTTON
649
+ %attrs; -- %coreattrs, %i18n, %events --
650
+ name CDATA #IMPLIED
651
+ value CDATA #IMPLIED -- sent to server when submitted --
652
+ type (button|submit|reset) submit -- for use as form button --
653
+ disabled (disabled) #IMPLIED -- unavailable in this context --
654
+ tabindex NUMBER #IMPLIED -- position in tabbing order --
655
+ accesskey %Character; #IMPLIED -- accessibility key character --
656
+ onfocus %Script; #IMPLIED -- the element got the focus --
657
+ onblur %Script; #IMPLIED -- the element lost the focus --
658
+ %reserved; -- reserved for possible future use --
659
+ >
660
+
661
+ <!--======================= Tables =======================================-->
662
+
663
+ <!-- IETF HTML table standard, see [RFC1942] -->
664
+
665
+ <!--
666
+ The BORDER attribute sets the thickness of the frame around the
667
+ table. The default units are screen pixels.
668
+
669
+ The FRAME attribute specifies which parts of the frame around
670
+ the table should be rendered. The values are not the same as
671
+ CALS to avoid a name clash with the VALIGN attribute.
672
+
673
+ The value "border" is included for backwards compatibility with
674
+ <TABLE BORDER> which yields frame=border and border=implied
675
+ For <TABLE BORDER=1> you get border=1 and frame=implied. In this
676
+ case, it is appropriate to treat this as frame=border for backwards
677
+ compatibility with deployed browsers.
678
+ -->
679
+ <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
680
+
681
+ <!--
682
+ The RULES attribute defines which rules to draw between cells:
683
+
684
+ If RULES is absent then assume:
685
+ "none" if BORDER is absent or BORDER=0 otherwise "all"
686
+ -->
687
+
688
+ <!ENTITY % TRules "(none | groups | rows | cols | all)">
689
+
690
+ <!-- horizontal placement of table relative to document -->
691
+ <!ENTITY % TAlign "(left|center|right)">
692
+
693
+ <!-- horizontal alignment attributes for cell contents -->
694
+ <!ENTITY % cellhalign
695
+ "align (left|center|right|justify|char) #IMPLIED
696
+ char %Character; #IMPLIED -- alignment char, e.g. char=':' --
697
+ charoff %Length; #IMPLIED -- offset for alignment char --"
698
+ >
699
+
700
+ <!-- vertical alignment attributes for cell contents -->
701
+ <!ENTITY % cellvalign
702
+ "valign (top|middle|bottom|baseline) #IMPLIED"
703
+ >
704
+
705
+ <!ELEMENT TABLE - -
706
+ (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
707
+ <!ELEMENT CAPTION - - (%inline;)* -- table caption -->
708
+ <!ELEMENT THEAD - O (TR)+ -- table header -->
709
+ <!ELEMENT TFOOT - O (TR)+ -- table footer -->
710
+ <!ELEMENT TBODY O O (TR)+ -- table body -->
711
+ <!ELEMENT COLGROUP - O (COL)* -- table column group -->
712
+ <!ELEMENT COL - O EMPTY -- table column -->
713
+ <!ELEMENT TR - O (TH|TD)+ -- table row -->
714
+ <!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
715
+
716
+ <!ATTLIST TABLE -- table element --
717
+ %attrs; -- %coreattrs, %i18n, %events --
718
+ summary %Text; #IMPLIED -- purpose/structure for speech output--
719
+ width %Length; #IMPLIED -- table width --
720
+ border %Pixels; #IMPLIED -- controls frame width around table --
721
+ frame %TFrame; #IMPLIED -- which parts of frame to render --
722
+ rules %TRules; #IMPLIED -- rulings between rows and cols --
723
+ cellspacing %Length; #IMPLIED -- spacing between cells --
724
+ cellpadding %Length; #IMPLIED -- spacing within cells --
725
+ %reserved; -- reserved for possible future use --
726
+ datapagesize CDATA #IMPLIED -- reserved for possible future use --
727
+ >
728
+
729
+
730
+ <!ATTLIST CAPTION
731
+ %attrs; -- %coreattrs, %i18n, %events --
732
+ >
733
+
734
+ <!--
735
+ COLGROUP groups a set of COL elements. It allows you to group
736
+ several semantically related columns together.
737
+ -->
738
+ <!ATTLIST COLGROUP
739
+ %attrs; -- %coreattrs, %i18n, %events --
740
+ span NUMBER 1 -- default number of columns in group --
741
+ width %MultiLength; #IMPLIED -- default width for enclosed COLs --
742
+ %cellhalign; -- horizontal alignment in cells --
743
+ %cellvalign; -- vertical alignment in cells --
744
+ >
745
+
746
+ <!--
747
+ COL elements define the alignment properties for cells in
748
+ one or more columns.
749
+
750
+ The WIDTH attribute specifies the width of the columns, e.g.
751
+
752
+ width=64 width in screen pixels
753
+ width=0.5* relative width of 0.5
754
+
755
+ The SPAN attribute causes the attributes of one
756
+ COL element to apply to more than one column.
757
+ -->
758
+ <!ATTLIST COL -- column groups and properties --
759
+ %attrs; -- %coreattrs, %i18n, %events --
760
+ span NUMBER 1 -- COL attributes affect N columns --
761
+ width %MultiLength; #IMPLIED -- column width specification --
762
+ %cellhalign; -- horizontal alignment in cells --
763
+ %cellvalign; -- vertical alignment in cells --
764
+ >
765
+
766
+ <!--
767
+ Use THEAD to duplicate headers when breaking table
768
+ across page boundaries, or for static headers when
769
+ TBODY sections are rendered in scrolling panel.
770
+
771
+ Use TFOOT to duplicate footers when breaking table
772
+ across page boundaries, or for static footers when
773
+ TBODY sections are rendered in scrolling panel.
774
+
775
+ Use multiple TBODY sections when rules are needed
776
+ between groups of table rows.
777
+ -->
778
+ <!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
779
+ %attrs; -- %coreattrs, %i18n, %events --
780
+ %cellhalign; -- horizontal alignment in cells --
781
+ %cellvalign; -- vertical alignment in cells --
782
+ >
783
+
784
+ <!ATTLIST TR -- table row --
785
+ %attrs; -- %coreattrs, %i18n, %events --
786
+ %cellhalign; -- horizontal alignment in cells --
787
+ %cellvalign; -- vertical alignment in cells --
788
+ >
789
+
790
+
791
+ <!-- Scope is simpler than headers attribute for common tables -->
792
+ <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
793
+
794
+ <!-- TH is for headers, TD for data, but for cells acting as both use TD -->
795
+ <!ATTLIST (TH|TD) -- header or data cell --
796
+ %attrs; -- %coreattrs, %i18n, %events --
797
+ abbr %Text; #IMPLIED -- abbreviation for header cell --
798
+ axis CDATA #IMPLIED -- comma-separated list of related headers--
799
+ headers IDREFS #IMPLIED -- list of id's for header cells --
800
+ scope %Scope; #IMPLIED -- scope covered by header cells --
801
+ rowspan NUMBER 1 -- number of rows spanned by cell --
802
+ colspan NUMBER 1 -- number of cols spanned by cell --
803
+ %cellhalign; -- horizontal alignment in cells --
804
+ %cellvalign; -- vertical alignment in cells --
805
+ >
806
+
807
+
808
+ <!--================ Document Head =======================================-->
809
+ <!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
810
+ <!ENTITY % head.content "TITLE & BASE?">
811
+
812
+ <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
813
+ <!ATTLIST HEAD
814
+ %i18n; -- lang, dir --
815
+ profile %URI; #IMPLIED -- named dictionary of meta info --
816
+ >
817
+
818
+ <!-- The TITLE element is not considered part of the flow of text.
819
+ It should be displayed, for example as the page header or
820
+ window title. Exactly one title is required per document.
821
+ -->
822
+ <!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
823
+ <!ATTLIST TITLE %i18n>
824
+
825
+
826
+ <!ELEMENT BASE - O EMPTY -- document base URI -->
827
+ <!ATTLIST BASE
828
+ href %URI; #REQUIRED -- URI that acts as base URI --
829
+ >
830
+
831
+ <!ELEMENT META - O EMPTY -- generic metainformation -->
832
+ <!ATTLIST META
833
+ %i18n; -- lang, dir, for use with content --
834
+ http-equiv NAME #IMPLIED -- HTTP response header name --
835
+ name NAME #IMPLIED -- metainformation name --
836
+ content CDATA #REQUIRED -- associated information --
837
+ scheme CDATA #IMPLIED -- select form of content --
838
+ >
839
+
840
+ <!ELEMENT STYLE - - %StyleSheet -- style info -->
841
+ <!ATTLIST STYLE
842
+ %i18n; -- lang, dir, for use with title --
843
+ type %ContentType; #REQUIRED -- content type of style language --
844
+ media %MediaDesc; #IMPLIED -- designed for use with these media --
845
+ title %Text; #IMPLIED -- advisory title --
846
+ >
847
+
848
+ <!ELEMENT SCRIPT - - %Script; -- script statements -->
849
+ <!ATTLIST SCRIPT
850
+ charset %Charset; #IMPLIED -- char encoding of linked resource --
851
+ type %ContentType; #REQUIRED -- content type of script language --
852
+ src %URI; #IMPLIED -- URI for an external script --
853
+ defer (defer) #IMPLIED -- UA may defer execution of script --
854
+ event CDATA #IMPLIED -- reserved for possible future use --
855
+ for %URI; #IMPLIED -- reserved for possible future use --
856
+ >
857
+
858
+ <!ELEMENT NOSCRIPT - - (%block;)+
859
+ -- alternate content container for non script-based rendering -->
860
+ <!ATTLIST NOSCRIPT
861
+ %attrs; -- %coreattrs, %i18n, %events --
862
+ >
863
+
864
+ <!--================ Document Structure ==================================-->
865
+ <!ENTITY % html.content "HEAD, BODY">
866
+
867
+ <!ELEMENT HTML O O (%html.content;) -- document root element -->
868
+ <!ATTLIST HTML
869
+ %i18n; -- lang, dir --
870
+ >