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.
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.
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.01 is available at:
22
http://www.w3.org/TR/1999/REC-html401-19991224
25
The HTML 4.01 specification includes additional
26
syntactic constraints that cannot be expressed within
33
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
34
"http://www.w3.org/TR/html4/strict.dtd">
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.
47
The FPI for the Transitional HTML 4.01 DTD is:
49
"-//W3C//DTD HTML 4.01 Transitional//EN"
51
This version of the transitional DTD is:
53
http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd
55
If you are writing a document that includes frames, use
58
"-//W3C//DTD HTML 4.01 Frameset//EN"
60
This version of the frameset DTD is:
62
http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd
64
Use the following (relative) URIs to refer to
65
the DTDs and entity definitions of this specification:
76
<!--================== Imported Names ====================================-->
77
<!-- Feature Switch for frameset documents -->
78
<!ENTITY % HTML.Frameset "IGNORE">
80
<!ENTITY % ContentType "CDATA"
81
-- media type, as per [RFC2045]
84
<!ENTITY % ContentTypes "CDATA"
85
-- comma-separated list of media types, as per [RFC2045]
88
<!ENTITY % Charset "CDATA"
89
-- a character encoding, as per [RFC2045]
92
<!ENTITY % Charsets "CDATA"
93
-- a space-separated list of character encodings, as per [RFC2045]
96
<!ENTITY % LanguageCode "NAME"
97
-- a language code, as per [RFC1766]
100
<!ENTITY % Character "CDATA"
101
-- a single character from [ISO10646]
104
<!ENTITY % LinkTypes "CDATA"
105
-- space-separated list of link types
108
<!ENTITY % MediaDesc "CDATA"
109
-- single or comma-separated list of media descriptors
112
<!ENTITY % URI "CDATA"
113
-- a Uniform Resource Identifier,
117
<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
120
<!ENTITY % Script "CDATA" -- script expression -->
122
<!ENTITY % StyleSheet "CDATA" -- style sheet data -->
126
<!ENTITY % Text "CDATA">
129
<!-- Parameter Entities -->
131
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
133
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
135
<!ENTITY % list "UL | OL">
137
<!ENTITY % preformatted "PRE">
140
<!--================ Character mnemonic entities =========================-->
142
<!ENTITY % HTMLlat1 PUBLIC
143
"-//W3C//ENTITIES Latin1//EN//HTML"
147
<!ENTITY % HTMLsymbol PUBLIC
148
"-//W3C//ENTITIES Symbols//EN//HTML"
152
<!ENTITY % HTMLspecial PUBLIC
153
"-//W3C//ENTITIES Special//EN//HTML"
156
<!--=================== Generic Attributes ===============================-->
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 --"
166
"lang %LanguageCode; #IMPLIED -- language code --
167
dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --"
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 --"
183
<!-- Reserved Feature Switch -->
184
<!ENTITY % HTML.Reserved "IGNORE">
186
<!-- The following attributes are reserved for possible future use -->
187
<![ %HTML.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 --"
195
<!ENTITY % reserved "">
197
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
200
<!--=================== Text Markup ======================================-->
203
"TT | I | B | BIG | SMALL">
205
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
206
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
209
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
211
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
213
<!-- %inline; covers inline or "text-level" elements -->
214
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
216
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
217
<!ATTLIST (%fontstyle;|%phrase;)
218
%attrs; -- %coreattrs, %i18n, %events --
221
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
223
%attrs; -- %coreattrs, %i18n, %events --
226
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
228
%attrs; -- %coreattrs, %i18n, %events --
229
%reserved; -- reserved for possible future use --
232
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
234
%coreattrs; -- id, class, style, title --
235
lang %LanguageCode; #IMPLIED -- language code --
236
dir (ltr|rtl) #REQUIRED -- directionality --
240
<!ELEMENT BR - O EMPTY -- forced line break -->
242
%coreattrs; -- id, class, style, title --
245
<!--================== HTML content models ===============================-->
248
HTML has two basic content models:
250
%inline; character level elements and text strings
251
%block; block-like elements e.g. paragraphs and lists
255
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
256
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
258
<!ENTITY % flow "%block; | %inline;">
260
<!--=================== Document Body ====================================-->
262
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
264
%attrs; -- %coreattrs, %i18n, %events --
265
onload %Script; #IMPLIED -- the document has been loaded --
266
onunload %Script; #IMPLIED -- the document has been removed --
269
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
271
%attrs; -- %coreattrs, %i18n, %events --
274
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
276
%attrs; -- %coreattrs, %i18n, %events --
277
%reserved; -- reserved for possible future use --
281
<!--================== The Anchor Element ================================-->
283
<!ENTITY % Shape "(rect|circle|poly|default)">
284
<!ENTITY % Coords "CDATA" -- comma-separated list of lengths -->
286
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
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 --
304
<!--================== Client-side image maps ============================-->
306
<!-- These can be placed in the same document or grouped in a
307
separate document although this isn't yet widely supported -->
309
<!ELEMENT MAP - - ((%block;) | AREA)+ -- client-side image map -->
311
%attrs; -- %coreattrs, %i18n, %events --
312
name CDATA #REQUIRED -- for reference by usemap --
315
<!ELEMENT AREA - O EMPTY -- client-side image map 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 --
329
<!--================== The LINK Element ==================================-->
332
Relationship values can be used in principle:
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)
345
<!ELEMENT LINK - O EMPTY -- a media-independent 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 --
357
<!--=================== Images ===========================================-->
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 -->
363
<![ %HTML.Frameset; [
364
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
367
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
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 -->
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
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 --
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 -->
391
<!--==================== OBJECT ======================================-->
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 ...
398
<!ELEMENT OBJECT - - (PARAM | %flow;)*
399
-- generic embedded 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 --
418
<!ELEMENT PARAM - O EMPTY -- named property value -->
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 --
429
<!--=================== Horizontal Rule ==================================-->
431
<!ELEMENT HR - O EMPTY -- horizontal rule -->
433
%attrs; -- %coreattrs, %i18n, %events --
436
<!--=================== Paragraphs =======================================-->
438
<!ELEMENT P - O (%inline;)* -- paragraph -->
440
%attrs; -- %coreattrs, %i18n, %events --
443
<!--=================== Headings =========================================-->
446
There are six levels of headings from H1 (the most important)
447
to H6 (the least important).
450
<!ELEMENT (%heading;) - - (%inline;)* -- heading -->
451
<!ATTLIST (%heading;)
452
%attrs; -- %coreattrs, %i18n, %events --
455
<!--=================== Preformatted Text ================================-->
457
<!-- excludes markup for images and changes in font size -->
458
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
460
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
462
%attrs; -- %coreattrs, %i18n, %events --
465
<!--===================== Inline Quotes ==================================-->
467
<!ELEMENT Q - - (%inline;)* -- short inline quotation -->
469
%attrs; -- %coreattrs, %i18n, %events --
470
cite %URI; #IMPLIED -- URI for source document or msg --
473
<!--=================== Block-like Quotes ================================-->
475
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
477
%attrs; -- %coreattrs, %i18n, %events --
478
cite %URI; #IMPLIED -- URI for source document or msg --
481
<!--=================== Inserted/Deleted Text ============================-->
484
<!-- INS/DEL are handled by inclusion on BODY -->
485
<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text -->
487
%attrs; -- %coreattrs, %i18n, %events --
488
cite %URI; #IMPLIED -- info on reason for change --
489
datetime %Datetime; #IMPLIED -- date and time of change --
492
<!--=================== Lists ============================================-->
494
<!-- definition lists - DT for term, DD for its definition -->
496
<!ELEMENT DL - - (DT|DD)+ -- definition list -->
498
%attrs; -- %coreattrs, %i18n, %events --
501
<!ELEMENT DT - O (%inline;)* -- definition term -->
502
<!ELEMENT DD - O (%flow;)* -- definition description -->
504
%attrs; -- %coreattrs, %i18n, %events --
508
<!ELEMENT OL - - (LI)+ -- ordered list -->
510
%attrs; -- %coreattrs, %i18n, %events --
513
<!-- Unordered Lists (UL) bullet styles -->
514
<!ELEMENT UL - - (LI)+ -- unordered list -->
516
%attrs; -- %coreattrs, %i18n, %events --
521
<!ELEMENT LI - O (%flow;)* -- list item -->
523
%attrs; -- %coreattrs, %i18n, %events --
526
<!--================ Forms ===============================================-->
527
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive 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 --
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 and 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 -- 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 --
582
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
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 --
596
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
598
%attrs; -- %coreattrs, %i18n, %events --
599
disabled (disabled) #IMPLIED -- unavailable in this context --
600
label %Text; #REQUIRED -- for use in hierarchical menus --
603
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
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 --
612
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
614
%attrs; -- %coreattrs, %i18n, %events --
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 --
630
#PCDATA is to solve the mixed content problem,
631
per specification only whitespace is allowed there!
633
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
635
%attrs; -- %coreattrs, %i18n, %events --
638
<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
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 --
731
%attrs; -- %coreattrs, %i18n, %events --
735
COLGROUP groups a set of COL elements. It allows you to group
736
several semantically related columns together.
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 --
747
COL elements define the alignment properties for cells in
750
The WIDTH attribute specifies the width of the columns, e.g.
752
width=64 width in screen pixels
753
width=0.5* relative width of 0.5
755
The SPAN attribute causes the attributes of one
756
COL element to apply to more than one column.
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 --
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.
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.
775
Use multiple TBODY sections when rules are needed
776
between groups of table rows.
778
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
779
%attrs; -- %coreattrs, %i18n, %events --
780
%cellhalign; -- horizontal alignment in cells --
781
%cellvalign; -- vertical alignment in cells --
784
<!ATTLIST TR -- table row --
785
%attrs; -- %coreattrs, %i18n, %events --
786
%cellhalign; -- horizontal alignment in cells --
787
%cellvalign; -- vertical alignment in cells --
791
<!-- Scope is simpler than headers attribute for common tables -->
792
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
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 --
808
<!--================ Document Head =======================================-->
809
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
810
<!ENTITY % head.content "TITLE & BASE?">
812
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
814
%i18n; -- lang, dir --
815
profile %URI; #IMPLIED -- named dictionary of meta info --
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.
822
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
823
<!ATTLIST TITLE %i18n>
826
<!ELEMENT BASE - O EMPTY -- document base URI -->
828
href %URI; #REQUIRED -- URI that acts as base URI --
831
<!ELEMENT META - O EMPTY -- generic metainformation -->
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 --
840
<!ELEMENT STYLE - - %StyleSheet -- style info -->
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 --
848
<!ELEMENT SCRIPT - - %Script; -- script statements -->
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 --
858
<!ELEMENT NOSCRIPT - - (%block;)+
859
-- alternate content container for non script-based rendering -->
861
%attrs; -- %coreattrs, %i18n, %events --
864
<!--================ Document Structure ==================================-->
865
<!ENTITY % html.content "HEAD, BODY">
867
<!ELEMENT HTML O O (%html.content;) -- document root element -->
869
%i18n; -- lang, dir --