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: 2005/09/12 09:13: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.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 --