2
This is HTML 4.0 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.
8
HTML 4.0 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.
13
Draft: $Date: 2001/03/11 06:00:56 $
16
Dave Raggett <dsr@w3.org>
17
Arnaud Le Hors <lehors@w3.org>
18
Ian Jacobs <ij@w3.org>
20
Further information about HTML 4.0 is available at:
22
http://www.w3.org/TR/REC-html40
27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
28
"http://www.w3.org/TR/REC-html40/strict.dtd">
38
The URI used as a system identifier with the public identifier allows
39
the user agent to download the DTD and entity sets as needed.
41
The FPI for the Transitional HTML 4.0 DTD is:
43
"-//W3C//DTD HTML 4.0 Transitional//EN"
47
http://www.w3.org/TR/REC-html40/loose.dtd
49
If you are writing a document that includes frames, use
52
"-//W3C//DTD HTML 4.0 Frameset//EN"
56
http://www.w3.org/TR/REC-html40/frameset.dtd
58
The following URIs are supported in relation to HTML 4.0
60
"http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
61
"http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
62
"http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
63
"http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
64
"http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
65
"http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
67
These URIs point to the latest version of each file. To reference
68
this specific revision use the following URIs:
70
"http://www.w3.org/TR/1998/REC-html40-19980424/strict.dtd"
71
"http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd"
72
"http://www.w3.org/TR/1998/REC-html40-19980424/frameset.dtd"
73
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"
74
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"
75
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"
79
<!--================== Imported Names ====================================-->
81
<!ENTITY % ContentType "CDATA"
82
-- media type, as per [RFC2045]
85
<!ENTITY % ContentTypes "CDATA"
86
-- comma-separated list of media types, as per [RFC2045]
89
<!ENTITY % Charset "CDATA"
90
-- a character encoding, as per [RFC2045]
93
<!ENTITY % Charsets "CDATA"
94
-- a space separated list of character encodings, as per [RFC2045]
97
<!ENTITY % LanguageCode "NAME"
98
-- a language code, as per [RFC1766]
101
<!ENTITY % Character "CDATA"
102
-- a single character from [ISO10646]
105
<!ENTITY % LinkTypes "CDATA"
106
-- space-separated list of link types
109
<!ENTITY % MediaDesc "CDATA"
110
-- single or comma-separated list of media descriptors
113
<!ENTITY % URI "CDATA"
114
-- a Uniform Resource Identifier,
118
<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
121
<!ENTITY % Script "CDATA" -- script expression -->
123
<!ENTITY % StyleSheet "CDATA" -- style sheet data -->
127
<!ENTITY % Text "CDATA">
130
<!-- Parameter Entities -->
132
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
134
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
136
<!ENTITY % list "UL | OL">
138
<!ENTITY % preformatted "PRE">
141
<!--================ Character mnemonic entities =========================-->
143
<!ENTITY % HTMLlat1 PUBLIC
144
"-//W3C//ENTITIES Latin1//EN//HTML"
145
-- comment out URI so we can use local copy instead
146
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"-->
149
<!ENTITY % HTMLsymbol PUBLIC
150
"-//W3C//ENTITIES Symbols//EN//HTML"
151
-- comment out URI so we can use local copy instead
152
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"-->
155
<!ENTITY % HTMLspecial PUBLIC
156
"-//W3C//ENTITIES Special//EN//HTML"
157
-- comment out URI so we can use local copy instead
158
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"-->
160
<!--=================== Generic Attributes ===============================-->
163
"id ID #IMPLIED -- document-wide unique id --
164
class CDATA #IMPLIED -- space separated list of classes --
165
style %StyleSheet; #IMPLIED -- associated style info --
166
title %Text; #IMPLIED -- advisory title/amplification --"
170
"lang %LanguageCode; #IMPLIED -- language code --
171
dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --"
175
"onclick %Script; #IMPLIED -- a pointer button was clicked --
176
ondblclick %Script; #IMPLIED -- a pointer button was double clicked--
177
onmousedown %Script; #IMPLIED -- a pointer button was pressed down --
178
onmouseup %Script; #IMPLIED -- a pointer button was released --
179
onmouseover %Script; #IMPLIED -- a pointer was moved onto --
180
onmousemove %Script; #IMPLIED -- a pointer was moved within --
181
onmouseout %Script; #IMPLIED -- a pointer was moved away --
182
onkeypress %Script; #IMPLIED -- a key was pressed and released --
183
onkeydown %Script; #IMPLIED -- a key was pressed down --
184
onkeyup %Script; #IMPLIED -- a key was released --"
187
<!-- Reserved Feature Switch -->
188
<!ENTITY % HTML.Reserved "IGNORE">
190
<!-- The following attributes are reserved for possible future use -->
191
<![ %HTML.Reserved; [
193
"datasrc %URI; #IMPLIED -- a single or tabular Data Source --
194
datafld CDATA #IMPLIED -- the property or column name --
195
dataformatas (plaintext|html) plaintext -- text or html --"
199
<!ENTITY % reserved "">
201
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
204
<!--=================== Text Markup ======================================-->
207
"TT | I | B | BIG | SMALL">
209
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
210
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
213
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
215
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
217
<!-- %inline; covers inline or "text-level" elements -->
218
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
220
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
221
<!ATTLIST (%fontstyle;|%phrase;)
222
%attrs; -- %coreattrs, %i18n, %events --
225
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
227
%attrs; -- %coreattrs, %i18n, %events --
230
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
232
%attrs; -- %coreattrs, %i18n, %events --
233
%reserved; -- reserved for possible future use --
236
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
238
%coreattrs; -- id, class, style, title --
239
lang %LanguageCode; #IMPLIED -- language code --
240
dir (ltr|rtl) #REQUIRED -- directionality --
244
<!ELEMENT BR - O EMPTY -- forced line break -->
246
%coreattrs; -- id, class, style, title --
249
<!--================== HTML content models ===============================-->
252
HTML has two basic content models:
254
%inline; character level elements and text strings
255
%block; block-like elements e.g. paragraphs and lists
259
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
260
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
262
<!ENTITY % flow "%block; | %inline;">
264
<!--=================== Document Body ====================================-->
266
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
268
%attrs; -- %coreattrs, %i18n, %events --
269
onload %Script; #IMPLIED -- the document has been loaded --
270
onunload %Script; #IMPLIED -- the document has been removed --
273
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
275
%attrs; -- %coreattrs, %i18n, %events --
278
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
280
%attrs; -- %coreattrs, %i18n, %events --
281
%reserved; -- reserved for possible future use --
285
<!--================== The Anchor Element ================================-->
287
<!ENTITY % Shape "(rect|circle|poly|default)">
288
<!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
290
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
292
%attrs; -- %coreattrs, %i18n, %events --
293
charset %Charset; #IMPLIED -- char encoding of linked resource --
294
type %ContentType; #IMPLIED -- advisory content type --
295
name CDATA #IMPLIED -- named link end --
296
href %URI; #IMPLIED -- URI for linked resource --
297
hreflang %LanguageCode; #IMPLIED -- language code --
298
rel %LinkTypes; #IMPLIED -- forward link types --
299
rev %LinkTypes; #IMPLIED -- reverse link types --
300
accesskey %Character; #IMPLIED -- accessibility key character --
301
shape %Shape; rect -- for use with client-side image maps --
302
coords %Coords; #IMPLIED -- for use with client-side image maps --
303
tabindex NUMBER #IMPLIED -- position in tabbing order --
304
onfocus %Script; #IMPLIED -- the element got the focus --
305
onblur %Script; #IMPLIED -- the element lost the focus --
308
<!--================== Client-side image maps ============================-->
310
<!-- These can be placed in the same document or grouped in a
311
separate document although this isn't yet widely supported -->
313
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
315
%attrs; -- %coreattrs, %i18n, %events --
316
name CDATA #REQUIRED -- for reference by usemap --
319
<!ELEMENT AREA - O EMPTY -- client-side image map area -->
321
%attrs; -- %coreattrs, %i18n, %events --
322
shape %Shape; rect -- controls interpretation of coords --
323
coords %Coords; #IMPLIED -- comma separated list of lengths --
324
href %URI; #IMPLIED -- URI for linked resource --
325
nohref (nohref) #IMPLIED -- this region has no action --
326
alt %Text; #REQUIRED -- short description --
327
tabindex NUMBER #IMPLIED -- position in tabbing order --
328
accesskey %Character; #IMPLIED -- accessibility key character --
329
onfocus %Script; #IMPLIED -- the element got the focus --
330
onblur %Script; #IMPLIED -- the element lost the focus --
333
<!--================== The LINK Element ==================================-->
336
Relationship values can be used in principle:
338
a) for document specific toolbars/menus when used
339
with the LINK element in document head e.g.
340
start, contents, previous, next, index, end, help
341
b) to link to a separate style sheet (rel=stylesheet)
342
c) to make a link to a script (rel=script)
343
d) by stylesheets to control how collections of
344
html nodes are rendered into printed documents
345
e) to make a link to a printable version of this document
346
e.g. a postscript or pdf version (rel=alternate media=print)
349
<!ELEMENT LINK - O EMPTY -- a media-independent link -->
351
%attrs; -- %coreattrs, %i18n, %events --
352
charset %Charset; #IMPLIED -- char encoding of linked resource --
353
href %URI; #IMPLIED -- URI for linked resource --
354
hreflang %LanguageCode; #IMPLIED -- language code --
355
type %ContentType; #IMPLIED -- advisory content type --
356
rel %LinkTypes; #IMPLIED -- forward link types --
357
rev %LinkTypes; #IMPLIED -- reverse link types --
358
media %MediaDesc; #IMPLIED -- for rendering on these media --
361
<!--=================== Images ===========================================-->
363
<!-- Length defined in strict DTD for cellpadding/cellspacing -->
364
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
365
<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
367
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
369
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
372
<!-- To avoid problems with text-only UAs as well as
373
to make image content understandable and navigable
374
to users of non-visual UAs, you need to provide
375
a description with ALT, and avoid server-side image maps -->
376
<!ELEMENT IMG - O EMPTY -- Embedded image -->
378
%attrs; -- %coreattrs, %i18n, %events --
379
src %URI; #REQUIRED -- URI of image to embed --
380
alt %Text; #REQUIRED -- short description --
381
longdesc %URI; #IMPLIED -- link to long description
383
height %Length; #IMPLIED -- override height --
384
width %Length; #IMPLIED -- override width --
385
usemap %URI; #IMPLIED -- use client-side image map --
386
ismap (ismap) #IMPLIED -- use server-side image map --
389
<!-- USEMAP points to a MAP element which may be in this document
390
or an external document, although the latter is not widely supported -->
392
<!--==================== OBJECT ======================================-->
394
OBJECT is used to embed objects as part of HTML pages
395
PARAM elements should precede other content. SGML mixed content
396
model technicality precludes specifying this formally ...
399
<!ELEMENT OBJECT - - (PARAM | %flow;)*
400
-- generic embedded object -->
402
%attrs; -- %coreattrs, %i18n, %events --
403
declare (declare) #IMPLIED -- declare but don't instantiate flag --
404
classid %URI; #IMPLIED -- identifies an implementation --
405
codebase %URI; #IMPLIED -- base URI for classid, data, archive--
406
data %URI; #IMPLIED -- reference to object's data --
407
type %ContentType; #IMPLIED -- content type for data --
408
codetype %ContentType; #IMPLIED -- content type for code --
409
archive %URI; #IMPLIED -- space separated archive list --
410
standby %Text; #IMPLIED -- message to show while loading --
411
height %Length; #IMPLIED -- override height --
412
width %Length; #IMPLIED -- override width --
413
usemap %URI; #IMPLIED -- use client-side image map --
414
name CDATA #IMPLIED -- submit as part of form --
415
tabindex NUMBER #IMPLIED -- position in tabbing order --
416
%reserved; -- reserved for possible future use --
419
<!ELEMENT PARAM - O EMPTY -- named property value -->
421
id ID #IMPLIED -- document-wide unique id --
422
name CDATA #REQUIRED -- property name --
423
value CDATA #IMPLIED -- property value --
424
valuetype (DATA|REF|OBJECT) DATA -- How to interpret value --
425
type %ContentType; #IMPLIED -- content type for value
426
when valuetype=ref --
430
<!--=================== Horizontal Rule ==================================-->
432
<!ELEMENT HR - O EMPTY -- horizontal rule -->
434
%coreattrs; -- id, class, style, title --
438
<!--=================== Paragraphs =======================================-->
440
<!ELEMENT P - O (%inline;)* -- paragraph -->
442
%attrs; -- %coreattrs, %i18n, %events --
445
<!--=================== Headings =========================================-->
448
There are six levels of headings from H1 (the most important)
449
to H6 (the least important).
452
<!ELEMENT (%heading;) - - (%inline;)* -- heading -->
453
<!ATTLIST (%heading;)
454
%attrs; -- %coreattrs, %i18n, %events --
457
<!--=================== Preformatted Text ================================-->
459
<!-- excludes markup for images and changes in font size -->
460
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
462
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
464
%attrs; -- %coreattrs, %i18n, %events --
467
<!--===================== Inline Quotes ==================================-->
469
<!ELEMENT Q - - (%inline;)* -- short inline quotation -->
471
%attrs; -- %coreattrs, %i18n, %events --
472
cite %URI; #IMPLIED -- URI for source document or msg --
475
<!--=================== Block-like Quotes ================================-->
477
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
479
%attrs; -- %coreattrs, %i18n, %events --
480
cite %URI; #IMPLIED -- URI for source document or msg --
483
<!--=================== Inserted/Deleted Text ============================-->
486
<!-- INS/DEL are handled by inclusion on BODY -->
487
<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text -->
489
%attrs; -- %coreattrs, %i18n, %events --
490
cite %URI; #IMPLIED -- info on reason for change --
491
datetime %Datetime; #IMPLIED -- date and time of change --
494
<!--=================== Lists ============================================-->
496
<!-- definition lists - DT for term, DD for its definition -->
498
<!ELEMENT DL - - (DT|DD)+ -- definition list -->
500
%attrs; -- %coreattrs, %i18n, %events --
503
<!ELEMENT DT - O (%inline;)* -- definition term -->
504
<!ELEMENT DD - O (%flow;)* -- definition description -->
506
%attrs; -- %coreattrs, %i18n, %events --
510
<!ELEMENT OL - - (LI)+ -- ordered list -->
512
%attrs; -- %coreattrs, %i18n, %events --
515
<!-- Unordered Lists (UL) bullet styles -->
516
<!ELEMENT UL - - (LI)+ -- unordered list -->
518
%attrs; -- %coreattrs, %i18n, %events --
523
<!ELEMENT LI - O (%flow;)* -- list item -->
525
%attrs; -- %coreattrs, %i18n, %events --
528
<!--================ Forms ===============================================-->
529
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
531
%attrs; -- %coreattrs, %i18n, %events --
532
action %URI; #REQUIRED -- server-side form handler --
533
method (GET|POST) GET -- HTTP method used to submit the form--
534
enctype %ContentType; "application/x-www-form-urlencoded"
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 --
540
<!-- Each label must not contain more than ONE field -->
541
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
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 --
551
"(TEXT | PASSWORD | CHECKBOX |
552
RADIO | SUBMIT | RESET |
553
FILE | HIDDEN | IMAGE | BUTTON)"
556
<!-- attribute name required for all but submit & reset -->
557
<!ELEMENT INPUT - O EMPTY -- form control -->
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 -- required for radio 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
tabindex NUMBER #IMPLIED -- position in tabbing order --
572
accesskey %Character; #IMPLIED -- accessibility key character --
573
onfocus %Script; #IMPLIED -- the element got the focus --
574
onblur %Script; #IMPLIED -- the element lost the focus --
575
onselect %Script; #IMPLIED -- some text was selected --
576
onchange %Script; #IMPLIED -- the element value was changed --
577
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
578
%reserved; -- reserved for possible future use --
581
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
583
%attrs; -- %coreattrs, %i18n, %events --
584
name CDATA #IMPLIED -- field name --
585
size NUMBER #IMPLIED -- rows visible --
586
multiple (multiple) #IMPLIED -- default is single selection --
587
disabled (disabled) #IMPLIED -- unavailable in this context --
588
tabindex NUMBER #IMPLIED -- position in tabbing order --
589
onfocus %Script; #IMPLIED -- the element got the focus --
590
onblur %Script; #IMPLIED -- the element lost the focus --
591
onchange %Script; #IMPLIED -- the element value was changed --
592
%reserved; -- reserved for possible future use --
595
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
597
%attrs; -- %coreattrs, %i18n, %events --
598
disabled (disabled) #IMPLIED -- unavailable in this context --
599
label %Text; #REQUIRED -- for use in hierarchical menus --
602
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
604
%attrs; -- %coreattrs, %i18n, %events --
605
selected (selected) #IMPLIED
606
disabled (disabled) #IMPLIED -- unavailable in this context --
607
label %Text; #IMPLIED -- for use in hierarchical menus --
608
value CDATA #IMPLIED -- defaults to element content --
611
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
613
%attrs; -- %coreattrs, %i18n, %events --
615
rows NUMBER #REQUIRED
616
cols NUMBER #REQUIRED
617
disabled (disabled) #IMPLIED -- unavailable in this context --
618
readonly (readonly) #IMPLIED
619
tabindex NUMBER #IMPLIED -- position in tabbing order --
620
accesskey %Character; #IMPLIED -- accessibility key character --
621
onfocus %Script; #IMPLIED -- the element got the focus --
622
onblur %Script; #IMPLIED -- the element lost the focus --
623
onselect %Script; #IMPLIED -- some text was selected --
624
onchange %Script; #IMPLIED -- the element value was changed --
625
%reserved; -- reserved for possible future use --
629
#PCDATA is to solve the mixed content problem,
630
per specification only whitespace is allowed there!
632
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
634
%attrs; -- %coreattrs, %i18n, %events --
637
<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
638
<!ENTITY % LAlign "(top|bottom|left|right)">
641
%attrs; -- %coreattrs, %i18n, %events --
642
accesskey %Character; #IMPLIED -- accessibility key character --
646
(%flow;)* -(A|%formctrl;|FORM|FIELDSET)
649
%attrs; -- %coreattrs, %i18n, %events --
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 --
661
<!--======================= Tables =======================================-->
663
<!-- IETF HTML table standard, see [RFC1942] -->
666
The BORDER attribute sets the thickness of the frame around the
667
table. The default units are screen pixels.
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.
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.
679
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
682
The RULES attribute defines which rules to draw between cells:
684
If RULES is absent then assume:
685
"none" if BORDER is absent or BORDER=0 otherwise "all"
688
<!ENTITY % TRules "(none | groups | rows | cols | all)">
690
<!-- horizontal placement of table relative to document -->
691
<!ENTITY % TAlign "(left|center|right)">
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 --"
700
<!-- vertical alignment attributes for cell contents -->
701
<!ENTITY % cellvalign
702
"valign (top|middle|bottom|baseline) #IMPLIED"
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-->
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 --
729
<!ENTITY % CAlign "(top|bottom|left|right)">
732
%attrs; -- %coreattrs, %i18n, %events --
736
COLGROUP groups a set of COL elements. It allows you to group
737
several semantically related columns together.
740
%attrs; -- %coreattrs, %i18n, %events --
741
span NUMBER 1 -- default number of columns in group --
742
width %MultiLength; #IMPLIED -- default width for enclosed COLs --
743
%cellhalign; -- horizontal alignment in cells --
744
%cellvalign; -- vertical alignment in cells --
748
COL elements define the alignment properties for cells in
751
The WIDTH attribute specifies the width of the columns, e.g.
753
width=64 width in screen pixels
754
width=0.5* relative width of 0.5
756
The SPAN attribute causes the attributes of one
757
COL element to apply to more than one column.
759
<!ATTLIST COL -- column groups and properties --
760
%attrs; -- %coreattrs, %i18n, %events --
761
span NUMBER 1 -- COL attributes affect N columns --
762
width %MultiLength; #IMPLIED -- column width specification --
763
%cellhalign; -- horizontal alignment in cells --
764
%cellvalign; -- vertical alignment in cells --
768
Use THEAD to duplicate headers when breaking table
769
across page boundaries, or for static headers when
770
TBODY sections are rendered in scrolling panel.
772
Use TFOOT to duplicate footers when breaking table
773
across page boundaries, or for static footers when
774
TBODY sections are rendered in scrolling panel.
776
Use multiple TBODY sections when rules are needed
777
between groups of table rows.
779
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
780
%attrs; -- %coreattrs, %i18n, %events --
781
%cellhalign; -- horizontal alignment in cells --
782
%cellvalign; -- vertical alignment in cells --
785
<!ATTLIST TR -- table row --
786
%attrs; -- %coreattrs, %i18n, %events --
787
%cellhalign; -- horizontal alignment in cells --
788
%cellvalign; -- vertical alignment in cells --
792
<!-- Scope is simpler than axes attribute for common tables -->
793
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
795
<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
796
<!ATTLIST (TH|TD) -- header or data cell --
797
%attrs; -- %coreattrs, %i18n, %events --
798
abbr %Text; #IMPLIED -- abbreviation for header cell --
799
axis CDATA #IMPLIED -- names groups of related headers--
800
headers IDREFS #IMPLIED -- list of id's for header cells --
801
scope %Scope; #IMPLIED -- scope covered by header cells --
802
rowspan NUMBER 1 -- number of rows spanned by cell --
803
colspan NUMBER 1 -- number of cols spanned by cell --
804
%cellhalign; -- horizontal alignment in cells --
805
%cellvalign; -- vertical alignment in cells --
809
<!--================ Document Head =======================================-->
810
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
811
<!ENTITY % head.content "TITLE & BASE?">
813
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
815
%i18n; -- lang, dir --
816
profile %URI; #IMPLIED -- named dictionary of meta info --
819
<!-- The TITLE element is not considered part of the flow of text.
820
It should be displayed, for example as the page header or
821
window title. Exactly one title is required per document.
823
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
824
<!ATTLIST TITLE %i18n>
827
<!ELEMENT BASE - O EMPTY -- document base URI -->
829
href %URI; #REQUIRED -- URI that acts as base URI --
832
<!ELEMENT META - O EMPTY -- generic metainformation -->
834
%i18n; -- lang, dir, for use with content --
835
http-equiv NAME #IMPLIED -- HTTP response header name --
836
name NAME #IMPLIED -- metainformation name --
837
content CDATA #REQUIRED -- associated information --
838
scheme CDATA #IMPLIED -- select form of content --
841
<!ELEMENT STYLE - - %StyleSheet -- style info -->
843
%i18n; -- lang, dir, for use with title --
844
type %ContentType; #REQUIRED -- content type of style language --
845
media %MediaDesc; #IMPLIED -- designed for use with these media --
846
title %Text; #IMPLIED -- advisory title --
849
<!ELEMENT SCRIPT - - %Script; -- script statements -->
851
charset %Charset; #IMPLIED -- char encoding of linked resource --
852
type %ContentType; #REQUIRED -- content type of script language --
853
src %URI; #IMPLIED -- URI for an external script --
854
defer (defer) #IMPLIED -- UA may defer execution of script --
855
event CDATA #IMPLIED -- reserved for possible future use --
856
for %URI; #IMPLIED -- reserved for possible future use --
859
<!ELEMENT NOSCRIPT - - (%block;)+
860
-- alternate content container for non script-based rendering -->
862
%attrs; -- %coreattrs, %i18n, %events --
865
<!--================ Document Structure ==================================-->
866
<!ENTITY % html.content "HEAD, BODY">
868
<!ELEMENT HTML O O (%html.content;) -- document root element -->
870
%i18n; -- lang, dir --