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/07/24 13:03:39 $
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/REC-html40-971218/strict.dtd"
71
"http://www.w3.org/TR/REC-html40-971218/loose.dtd"
72
"http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
73
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
74
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
75
"http://www.w3.org/TR/REC-html40-971218/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
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent">
148
<!ENTITY % HTMLsymbol PUBLIC
149
"-//W3C//ENTITIES Symbols//EN//HTML"
150
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent">
153
<!ENTITY % HTMLspecial PUBLIC
154
"-//W3C//ENTITIES Special//EN//HTML"
155
"http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent">
157
<!--=================== Generic Attributes ===============================-->
160
"id ID #IMPLIED -- document-wide unique id --
161
class CDATA #IMPLIED -- space separated list of classes --
162
style %StyleSheet; #IMPLIED -- associated style info --
163
title %Text; #IMPLIED -- advisory title/amplification --"
167
"lang %LanguageCode; #IMPLIED -- language code --
168
dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --"
172
"onclick %Script; #IMPLIED -- a pointer button was clicked --
173
ondblclick %Script; #IMPLIED -- a pointer button was double clicked--
174
onmousedown %Script; #IMPLIED -- a pointer button was pressed down --
175
onmouseup %Script; #IMPLIED -- a pointer button was released --
176
onmouseover %Script; #IMPLIED -- a pointer was moved onto --
177
onmousemove %Script; #IMPLIED -- a pointer was moved within --
178
onmouseout %Script; #IMPLIED -- a pointer was moved away --
179
onkeypress %Script; #IMPLIED -- a key was pressed and released --
180
onkeydown %Script; #IMPLIED -- a key was pressed down --
181
onkeyup %Script; #IMPLIED -- a key was released --"
184
<!-- Reserved Feature Switch -->
185
<!ENTITY % HTML.Reserved "IGNORE">
187
<!-- The following attributes are reserved for possible future use -->
188
<![ %HTML.Reserved; [
190
"datasrc %URI; #IMPLIED -- a single or tabular Data Source --
191
datafld CDATA #IMPLIED -- the property or column name --
192
dataformatas (plaintext|html) plaintext -- text or html --"
196
<!ENTITY % reserved "">
198
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
201
<!--=================== Text Markup ======================================-->
204
"TT | I | B | BIG | SMALL">
206
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
207
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
210
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
212
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
214
<!-- %inline; covers inline or "text-level" elements -->
215
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
217
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
218
<!ATTLIST (%fontstyle;|%phrase;)
219
%attrs; -- %coreattrs, %i18n, %events --
222
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
224
%attrs; -- %coreattrs, %i18n, %events --
227
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
229
%attrs; -- %coreattrs, %i18n, %events --
230
%reserved; -- reserved for possible future use --
233
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
235
%coreattrs; -- id, class, style, title --
236
lang %LanguageCode; #IMPLIED -- language code --
237
dir (ltr|rtl) #REQUIRED -- directionality --
241
<!ELEMENT BR - O EMPTY -- forced line break -->
243
%coreattrs; -- id, class, style, title --
246
<!--================== HTML content models ===============================-->
249
HTML has two basic content models:
251
%inline; character level elements and text strings
252
%block; block-like elements e.g. paragraphs and lists
256
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
257
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
259
<!ENTITY % flow "%block; | %inline;">
261
<!--=================== Document Body ====================================-->
263
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
265
%attrs; -- %coreattrs, %i18n, %events --
266
onload %Script; #IMPLIED -- the document has been loaded --
267
onunload %Script; #IMPLIED -- the document has been removed --
270
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
272
%attrs; -- %coreattrs, %i18n, %events --
275
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
277
%attrs; -- %coreattrs, %i18n, %events --
278
%reserved; -- reserved for possible future use --
282
<!--================== The Anchor Element ================================-->
284
<!ENTITY % Shape "(rect|circle|poly|default)">
285
<!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
287
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
289
%attrs; -- %coreattrs, %i18n, %events --
290
charset %Charset; #IMPLIED -- char encoding of linked resource --
291
type %ContentType; #IMPLIED -- advisory content type --
292
name CDATA #IMPLIED -- named link end --
293
href %URI; #IMPLIED -- URI for linked resource --
294
hreflang %LanguageCode; #IMPLIED -- language code --
295
rel %LinkTypes; #IMPLIED -- forward link types --
296
rev %LinkTypes; #IMPLIED -- reverse link types --
297
accesskey %Character; #IMPLIED -- accessibility key character --
298
shape %Shape; rect -- for use with client-side image maps --
299
coords %Coords; #IMPLIED -- for use with client-side image maps --
300
tabindex NUMBER #IMPLIED -- position in tabbing order --
301
onfocus %Script; #IMPLIED -- the element got the focus --
302
onblur %Script; #IMPLIED -- the element lost the focus --
305
<!--================== Client-side image maps ============================-->
307
<!-- These can be placed in the same document or grouped in a
308
separate document although this isn't yet widely supported -->
310
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
312
%attrs; -- %coreattrs, %i18n, %events --
313
name CDATA #REQUIRED -- for reference by usemap --
316
<!ELEMENT AREA - O EMPTY -- client-side image map area -->
318
%attrs; -- %coreattrs, %i18n, %events --
319
shape %Shape; rect -- controls interpretation of coords --
320
coords %Coords; #IMPLIED -- comma separated list of lengths --
321
href %URI; #IMPLIED -- URI for linked resource --
322
nohref (nohref) #IMPLIED -- this region has no action --
323
alt %Text; #REQUIRED -- short description --
324
tabindex NUMBER #IMPLIED -- position in tabbing order --
325
accesskey %Character; #IMPLIED -- accessibility key character --
326
onfocus %Script; #IMPLIED -- the element got the focus --
327
onblur %Script; #IMPLIED -- the element lost the focus --
330
<!--================== The LINK Element ==================================-->
333
Relationship values can be used in principle:
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)
346
<!ELEMENT LINK - O EMPTY -- a media-independent link -->
348
%attrs; -- %coreattrs, %i18n, %events --
349
charset %Charset; #IMPLIED -- char encoding of linked resource --
350
href %URI; #IMPLIED -- URI for linked resource --
351
hreflang %LanguageCode; #IMPLIED -- language code --
352
type %ContentType; #IMPLIED -- advisory content type --
353
rel %LinkTypes; #IMPLIED -- forward link types --
354
rev %LinkTypes; #IMPLIED -- reverse link types --
355
media %MediaDesc; #IMPLIED -- for rendering on these media --
358
<!--=================== Images ===========================================-->
360
<!-- Length defined in strict DTD for cellpadding/cellspacing -->
361
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
362
<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
364
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
366
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
369
<!-- To avoid problems with text-only UAs as well as
370
to make image content understandable and navigable
371
to users of non-visual UAs, you need to provide
372
a description with ALT, and avoid server-side image maps -->
373
<!ELEMENT IMG - O EMPTY -- Embedded image -->
375
%attrs; -- %coreattrs, %i18n, %events --
376
src %URI; #REQUIRED -- URI of image to embed --
377
alt %Text; #REQUIRED -- short description --
378
longdesc %URI; #IMPLIED -- link to long description
380
height %Length; #IMPLIED -- override height --
381
width %Length; #IMPLIED -- override width --
382
usemap %URI; #IMPLIED -- use client-side image map --
383
ismap (ismap) #IMPLIED -- use server-side image map --
386
<!-- USEMAP points to a MAP element which may be in this document
387
or an external document, although the latter is not widely supported -->
389
<!--==================== OBJECT ======================================-->
391
OBJECT is used to embed objects as part of HTML pages
392
PARAM elements should precede other content. SGML mixed content
393
model technicality precludes specifying this formally ...
396
<!ELEMENT OBJECT - - (PARAM | %flow;)*
397
-- generic embedded object -->
399
%attrs; -- %coreattrs, %i18n, %events --
400
declare (declare) #IMPLIED -- declare but don't instantiate flag --
401
classid %URI; #IMPLIED -- identifies an implementation --
402
codebase %URI; #IMPLIED -- base URI for classid, data, archive--
403
data %URI; #IMPLIED -- reference to object's data --
404
type %ContentType; #IMPLIED -- content type for data --
405
codetype %ContentType; #IMPLIED -- content type for code --
406
archive %URI; #IMPLIED -- space separated archive list --
407
standby %Text; #IMPLIED -- message to show while loading --
408
height %Length; #IMPLIED -- override height --
409
width %Length; #IMPLIED -- override width --
410
usemap %URI; #IMPLIED -- use client-side image map --
411
name CDATA #IMPLIED -- submit as part of form --
412
tabindex NUMBER #IMPLIED -- position in tabbing order --
413
%reserved; -- reserved for possible future use --
416
<!ELEMENT PARAM - O EMPTY -- named property value -->
418
id ID #IMPLIED -- document-wide unique id --
419
name CDATA #REQUIRED -- property name --
420
value CDATA #IMPLIED -- property value --
421
valuetype (DATA|REF|OBJECT) DATA -- How to interpret value --
422
type %ContentType; #IMPLIED -- content type for value
423
when valuetype=ref --
427
<!--=================== Horizontal Rule ==================================-->
429
<!ELEMENT HR - O EMPTY -- horizontal rule -->
431
%coreattrs; -- id, class, style, title --
435
<!--=================== Paragraphs =======================================-->
437
<!ELEMENT P - O (%inline;)* -- paragraph -->
439
%attrs; -- %coreattrs, %i18n, %events --
442
<!--=================== Headings =========================================-->
445
There are six levels of headings from H1 (the most important)
446
to H6 (the least important).
449
<!ELEMENT (%heading;) - - (%inline;)* -- heading -->
450
<!ATTLIST (%heading;)
451
%attrs; -- %coreattrs, %i18n, %events --
454
<!--=================== Preformatted Text ================================-->
456
<!-- excludes markup for images and changes in font size -->
457
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
459
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
461
%attrs; -- %coreattrs, %i18n, %events --
464
<!--===================== Inline Quotes ==================================-->
466
<!ELEMENT Q - - (%inline;)* -- short inline quotation -->
468
%attrs; -- %coreattrs, %i18n, %events --
469
cite %URI; #IMPLIED -- URI for source document or msg --
472
<!--=================== Block-like Quotes ================================-->
474
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
476
%attrs; -- %coreattrs, %i18n, %events --
477
cite %URI; #IMPLIED -- URI for source document or msg --
480
<!--=================== Inserted/Deleted Text ============================-->
483
<!-- INS/DEL are handled by inclusion on BODY -->
484
<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text -->
486
%attrs; -- %coreattrs, %i18n, %events --
487
cite %URI; #IMPLIED -- info on reason for change --
488
datetime %Datetime; #IMPLIED -- date and time of change --
491
<!--=================== Lists ============================================-->
493
<!-- definition lists - DT for term, DD for its definition -->
495
<!ELEMENT DL - - (DT|DD)+ -- definition list -->
497
%attrs; -- %coreattrs, %i18n, %events --
500
<!ELEMENT DT - O (%inline;)* -- definition term -->
501
<!ELEMENT DD - O (%flow;)* -- definition description -->
503
%attrs; -- %coreattrs, %i18n, %events --
507
<!ELEMENT OL - - (LI)+ -- ordered list -->
509
%attrs; -- %coreattrs, %i18n, %events --
512
<!-- Unordered Lists (UL) bullet styles -->
513
<!ELEMENT UL - - (LI)+ -- unordered list -->
515
%attrs; -- %coreattrs, %i18n, %events --
520
<!ELEMENT LI - O (%flow;)* -- list item -->
522
%attrs; -- %coreattrs, %i18n, %events --
525
<!--================ Forms ===============================================-->
526
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
528
%attrs; -- %coreattrs, %i18n, %events --
529
action %URI; #REQUIRED -- server-side form handler --
530
method (GET|POST) GET -- HTTP method used to submit the form--
531
enctype %ContentType; "application/x-www-form-urlencoded"
532
onsubmit %Script; #IMPLIED -- the form was submitted --
533
onreset %Script; #IMPLIED -- the form was reset --
534
accept-charset %Charsets; #IMPLIED -- list of supported charsets --
537
<!-- Each label must not contain more than ONE field -->
538
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
540
%attrs; -- %coreattrs, %i18n, %events --
541
for IDREF #IMPLIED -- matches field ID value --
542
accesskey %Character; #IMPLIED -- accessibility key character --
543
onfocus %Script; #IMPLIED -- the element got the focus --
544
onblur %Script; #IMPLIED -- the element lost the focus --
548
"(TEXT | PASSWORD | CHECKBOX |
549
RADIO | SUBMIT | RESET |
550
FILE | HIDDEN | IMAGE | BUTTON)"
553
<!-- attribute name required for all but submit & reset -->
554
<!ELEMENT INPUT - O EMPTY -- form control -->
556
%attrs; -- %coreattrs, %i18n, %events --
557
type %InputType; TEXT -- what kind of widget is needed --
558
name CDATA #IMPLIED -- submit as part of form --
559
value CDATA #IMPLIED -- required for radio and checkboxes --
560
checked (checked) #IMPLIED -- for radio buttons and check boxes --
561
disabled (disabled) #IMPLIED -- unavailable in this context --
562
readonly (readonly) #IMPLIED -- for text and passwd --
563
size CDATA #IMPLIED -- specific to each type of field --
564
maxlength NUMBER #IMPLIED -- max chars for text fields --
565
src %URI; #IMPLIED -- for fields with images --
566
alt CDATA #IMPLIED -- short description --
567
usemap %URI; #IMPLIED -- use client-side image map --
568
tabindex NUMBER #IMPLIED -- position in tabbing order --
569
accesskey %Character; #IMPLIED -- accessibility key character --
570
onfocus %Script; #IMPLIED -- the element got the focus --
571
onblur %Script; #IMPLIED -- the element lost the focus --
572
onselect %Script; #IMPLIED -- some text was selected --
573
onchange %Script; #IMPLIED -- the element value was changed --
574
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
575
%reserved; -- reserved for possible future use --
578
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
580
%attrs; -- %coreattrs, %i18n, %events --
581
name CDATA #IMPLIED -- field name --
582
size NUMBER #IMPLIED -- rows visible --
583
multiple (multiple) #IMPLIED -- default is single selection --
584
disabled (disabled) #IMPLIED -- unavailable in this context --
585
tabindex NUMBER #IMPLIED -- position in tabbing order --
586
onfocus %Script; #IMPLIED -- the element got the focus --
587
onblur %Script; #IMPLIED -- the element lost the focus --
588
onchange %Script; #IMPLIED -- the element value was changed --
589
%reserved; -- reserved for possible future use --
592
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
594
%attrs; -- %coreattrs, %i18n, %events --
595
disabled (disabled) #IMPLIED -- unavailable in this context --
596
label %Text; #REQUIRED -- for use in hierarchical menus --
599
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
601
%attrs; -- %coreattrs, %i18n, %events --
602
selected (selected) #IMPLIED
603
disabled (disabled) #IMPLIED -- unavailable in this context --
604
label %Text; #IMPLIED -- for use in hierarchical menus --
605
value CDATA #IMPLIED -- defaults to element content --
608
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
610
%attrs; -- %coreattrs, %i18n, %events --
612
rows NUMBER #REQUIRED
613
cols NUMBER #REQUIRED
614
disabled (disabled) #IMPLIED -- unavailable in this context --
615
readonly (readonly) #IMPLIED
616
tabindex NUMBER #IMPLIED -- position in tabbing order --
617
accesskey %Character; #IMPLIED -- accessibility key character --
618
onfocus %Script; #IMPLIED -- the element got the focus --
619
onblur %Script; #IMPLIED -- the element lost the focus --
620
onselect %Script; #IMPLIED -- some text was selected --
621
onchange %Script; #IMPLIED -- the element value was changed --
622
%reserved; -- reserved for possible future use --
626
#PCDATA is to solve the mixed content problem,
627
per specification only whitespace is allowed there!
629
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
631
%attrs; -- %coreattrs, %i18n, %events --
634
<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
635
<!ENTITY % LAlign "(top|bottom|left|right)">
638
%attrs; -- %coreattrs, %i18n, %events --
639
accesskey %Character; #IMPLIED -- accessibility key character --
643
(%flow;)* -(A|%formctrl;|FORM|FIELDSET)
646
%attrs; -- %coreattrs, %i18n, %events --
648
value CDATA #IMPLIED -- sent to server when submitted --
649
type (button|submit|reset) submit -- for use as form button --
650
disabled (disabled) #IMPLIED -- unavailable in this context --
651
tabindex NUMBER #IMPLIED -- position in tabbing order --
652
accesskey %Character; #IMPLIED -- accessibility key character --
653
onfocus %Script; #IMPLIED -- the element got the focus --
654
onblur %Script; #IMPLIED -- the element lost the focus --
655
%reserved; -- reserved for possible future use --
658
<!--======================= Tables =======================================-->
660
<!-- IETF HTML table standard, see [RFC1942] -->
663
The BORDER attribute sets the thickness of the frame around the
664
table. The default units are screen pixels.
666
The FRAME attribute specifies which parts of the frame around
667
the table should be rendered. The values are not the same as
668
CALS to avoid a name clash with the VALIGN attribute.
670
The value "border" is included for backwards compatibility with
671
<TABLE BORDER> which yields frame=border and border=implied
672
For <TABLE BORDER=1> you get border=1 and frame=implied. In this
673
case, it is appropriate to treat this as frame=border for backwards
674
compatibility with deployed browsers.
676
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
679
The RULES attribute defines which rules to draw between cells:
681
If RULES is absent then assume:
682
"none" if BORDER is absent or BORDER=0 otherwise "all"
685
<!ENTITY % TRules "(none | groups | rows | cols | all)">
687
<!-- horizontal placement of table relative to document -->
688
<!ENTITY % TAlign "(left|center|right)">
690
<!-- horizontal alignment attributes for cell contents -->
691
<!ENTITY % cellhalign
692
"align (left|center|right|justify|char) #IMPLIED
693
char %Character; #IMPLIED -- alignment char, e.g. char=':' --
694
charoff %Length; #IMPLIED -- offset for alignment char --"
697
<!-- vertical alignment attributes for cell contents -->
698
<!ENTITY % cellvalign
699
"valign (top|middle|bottom|baseline) #IMPLIED"
703
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
704
<!ELEMENT CAPTION - - (%inline;)* -- table caption -->
705
<!ELEMENT THEAD - O (TR)+ -- table header -->
706
<!ELEMENT TFOOT - O (TR)+ -- table footer -->
707
<!ELEMENT TBODY O O (TR)+ -- table body -->
708
<!ELEMENT COLGROUP - O (col)* -- table column group -->
709
<!ELEMENT COL - O EMPTY -- table column -->
710
<!ELEMENT TR - O (TH|TD)+ -- table row -->
711
<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
713
<!ATTLIST TABLE -- table element --
714
%attrs; -- %coreattrs, %i18n, %events --
715
summary %Text; #IMPLIED -- purpose/structure for speech output--
716
width %Length; #IMPLIED -- table width --
717
border %Pixels; #IMPLIED -- controls frame width around table --
718
frame %TFrame; #IMPLIED -- which parts of frame to render --
719
rules %TRules; #IMPLIED -- rulings between rows and cols --
720
cellspacing %Length; #IMPLIED -- spacing between cells --
721
cellpadding %Length; #IMPLIED -- spacing within cells --
722
%reserved; -- reserved for possible future use --
723
datapagesize CDATA #IMPLIED -- reserved for possible future use --
726
<!ENTITY % CAlign "(top|bottom|left|right)">
729
%attrs; -- %coreattrs, %i18n, %events --
733
COLGROUP groups a set of COL elements. It allows you to group
734
several semantically related columns together.
737
%attrs; -- %coreattrs, %i18n, %events --
738
span NUMBER 1 -- default number of columns in group --
739
width %MultiLength; #IMPLIED -- default width for enclosed COLs --
740
%cellhalign; -- horizontal alignment in cells --
741
%cellvalign; -- vertical alignment in cells --
745
COL elements define the alignment properties for cells in
748
The WIDTH attribute specifies the width of the columns, e.g.
750
width=64 width in screen pixels
751
width=0.5* relative width of 0.5
753
The SPAN attribute causes the attributes of one
754
COL element to apply to more than one column.
756
<!ATTLIST COL -- column groups and properties --
757
%attrs; -- %coreattrs, %i18n, %events --
758
span NUMBER 1 -- COL attributes affect N columns --
759
width %MultiLength; #IMPLIED -- column width specification --
760
%cellhalign; -- horizontal alignment in cells --
761
%cellvalign; -- vertical alignment in cells --
765
Use THEAD to duplicate headers when breaking table
766
across page boundaries, or for static headers when
767
TBODY sections are rendered in scrolling panel.
769
Use TFOOT to duplicate footers when breaking table
770
across page boundaries, or for static footers when
771
TBODY sections are rendered in scrolling panel.
773
Use multiple TBODY sections when rules are needed
774
between groups of table rows.
776
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
777
%attrs; -- %coreattrs, %i18n, %events --
778
%cellhalign; -- horizontal alignment in cells --
779
%cellvalign; -- vertical alignment in cells --
782
<!ATTLIST TR -- table row --
783
%attrs; -- %coreattrs, %i18n, %events --
784
%cellhalign; -- horizontal alignment in cells --
785
%cellvalign; -- vertical alignment in cells --
789
<!-- Scope is simpler than axes attribute for common tables -->
790
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
792
<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
793
<!ATTLIST (TH|TD) -- header or data cell --
794
%attrs; -- %coreattrs, %i18n, %events --
795
abbr %Text; #IMPLIED -- abbreviation for header cell --
796
axis CDATA #IMPLIED -- names groups of related headers--
797
headers IDREFS #IMPLIED -- list of id's for header cells --
798
scope %Scope; #IMPLIED -- scope covered by header cells --
799
rowspan NUMBER 1 -- number of rows spanned by cell --
800
colspan NUMBER 1 -- number of cols spanned by cell --
801
%cellhalign; -- horizontal alignment in cells --
802
%cellvalign; -- vertical alignment in cells --
806
<!--================ Document Head =======================================-->
807
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
808
<!ENTITY % head.content "TITLE & BASE?">
810
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
812
%i18n; -- lang, dir --
813
profile %URI; #IMPLIED -- named dictionary of meta info --
816
<!-- The TITLE element is not considered part of the flow of text.
817
It should be displayed, for example as the page header or
818
window title. Exactly one title is required per document.
820
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
821
<!ATTLIST TITLE %i18n>
824
<!ELEMENT BASE - O EMPTY -- document base URI -->
826
href %URI; #REQUIRED -- URI that acts as base URI --
829
<!ELEMENT META - O EMPTY -- generic metainformation -->
831
%i18n; -- lang, dir, for use with content --
832
http-equiv NAME #IMPLIED -- HTTP response header name --
833
name NAME #IMPLIED -- metainformation name --
834
content CDATA #REQUIRED -- associated information --
835
scheme CDATA #IMPLIED -- select form of content --
838
<!ELEMENT STYLE - - %StyleSheet -- style info -->
840
%i18n; -- lang, dir, for use with title --
841
type %ContentType; #REQUIRED -- content type of style language --
842
media %MediaDesc; #IMPLIED -- designed for use with these media --
843
title %Text; #IMPLIED -- advisory title --
846
<!ELEMENT SCRIPT - - %Script; -- script statements -->
848
charset %Charset; #IMPLIED -- char encoding of linked resource --
849
type %ContentType; #REQUIRED -- content type of script language --
850
language CDATA #IMPLIED -- predefined script language name --
851
src %URI; #IMPLIED -- URI for an external script --
852
defer (defer) #IMPLIED -- UA may defer execution of script --
853
event CDATA #IMPLIED -- reserved for possible future use --
854
for %URI; #IMPLIED -- reserved for possible future use --
857
<!ELEMENT NOSCRIPT - - (%block;)+
858
-- alternate content container for non script-based rendering -->
860
%attrs; -- %coreattrs, %i18n, %events --
863
<!--================ Document Structure ==================================-->
864
<!ENTITY % html.content "HEAD, BODY">
866
<!ELEMENT HTML O O (%html.content;) -- document root element -->
868
%i18n; -- lang, dir --