Initial import to Tizen
[profile/ivi/python-twisted.git] / twisted / lore / xhtml1-transitional.dtd
1 <!--
2    Extensible HTML version 1.0 Transitional DTD
3
4    This is the same as HTML 4 Transitional except for
5    changes due to the differences between XML and SGML.
6
7    Namespace = http://www.w3.org/1999/xhtml
8
9    For further information, see: http://www.w3.org/TR/xhtml1
10
11    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
12    All Rights Reserved. 
13
14    This DTD module is identified by the PUBLIC and SYSTEM identifiers:
15
16    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
17    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
18
19    $Revision: 1.2 $
20    $Date: 2002/08/01 18:37:55 $
21
22 -->
23
24 <!--================ Character mnemonic entities =========================-->
25
26 <!ENTITY % HTMLlat1 PUBLIC
27    "-//W3C//ENTITIES Latin 1 for XHTML//EN"
28    "xhtml-lat1.ent">
29 %HTMLlat1;
30
31 <!ENTITY % HTMLsymbol PUBLIC
32    "-//W3C//ENTITIES Symbols for XHTML//EN"
33    "xhtml-symbol.ent">
34 %HTMLsymbol;
35
36 <!ENTITY % HTMLspecial PUBLIC
37    "-//W3C//ENTITIES Special for XHTML//EN"
38    "xhtml-special.ent">
39 %HTMLspecial;
40
41 <!--================== Imported Names ====================================-->
42
43 <!ENTITY % ContentType "CDATA">
44     <!-- media type, as per [RFC2045] -->
45
46 <!ENTITY % ContentTypes "CDATA">
47     <!-- comma-separated list of media types, as per [RFC2045] -->
48
49 <!ENTITY % Charset "CDATA">
50     <!-- a character encoding, as per [RFC2045] -->
51
52 <!ENTITY % Charsets "CDATA">
53     <!-- a space separated list of character encodings, as per [RFC2045] -->
54
55 <!ENTITY % LanguageCode "NMTOKEN">
56     <!-- a language code, as per [RFC3066] -->
57
58 <!ENTITY % Character "CDATA">
59     <!-- a single character, as per section 2.2 of [XML] -->
60
61 <!ENTITY % Number "CDATA">
62     <!-- one or more digits -->
63
64 <!ENTITY % LinkTypes "CDATA">
65     <!-- space-separated list of link types -->
66
67 <!ENTITY % MediaDesc "CDATA">
68     <!-- single or comma-separated list of media descriptors -->
69
70 <!ENTITY % URI "CDATA">
71     <!-- a Uniform Resource Identifier, see [RFC2396] -->
72
73 <!ENTITY % UriList "CDATA">
74     <!-- a space separated list of Uniform Resource Identifiers -->
75
76 <!ENTITY % Datetime "CDATA">
77     <!-- date and time information. ISO date format -->
78
79 <!ENTITY % Script "CDATA">
80     <!-- script expression -->
81
82 <!ENTITY % StyleSheet "CDATA">
83     <!-- style sheet data -->
84
85 <!ENTITY % Text "CDATA">
86     <!-- used for titles etc. -->
87
88 <!ENTITY % FrameTarget "NMTOKEN">
89     <!-- render in this frame -->
90
91 <!ENTITY % Length "CDATA">
92     <!-- nn for pixels or nn% for percentage length -->
93
94 <!ENTITY % MultiLength "CDATA">
95     <!-- pixel, percentage, or relative -->
96
97 <!ENTITY % Pixels "CDATA">
98     <!-- integer representing length in pixels -->
99
100 <!-- these are used for image maps -->
101
102 <!ENTITY % Shape "(rect|circle|poly|default)">
103
104 <!ENTITY % Coords "CDATA">
105     <!-- comma separated list of lengths -->
106
107 <!-- used for object, applet, img, input and iframe -->
108 <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
109
110 <!-- a color using sRGB: #RRGGBB as Hex values -->
111 <!ENTITY % Color "CDATA">
112
113 <!-- There are also 16 widely known color names with their sRGB values:
114
115     Black  = #000000    Green  = #008000
116     Silver = #C0C0C0    Lime   = #00FF00
117     Gray   = #808080    Olive  = #808000
118     White  = #FFFFFF    Yellow = #FFFF00
119     Maroon = #800000    Navy   = #000080
120     Red    = #FF0000    Blue   = #0000FF
121     Purple = #800080    Teal   = #008080
122     Fuchsia= #FF00FF    Aqua   = #00FFFF
123 -->
124
125 <!--=================== Generic Attributes ===============================-->
126
127 <!-- core attributes common to most elements
128   id       document-wide unique id
129   class    space separated list of classes
130   style    associated style info
131   title    advisory title/amplification
132 -->
133 <!ENTITY % coreattrs
134  "id          ID             #IMPLIED
135   class       CDATA          #IMPLIED
136   style       %StyleSheet;   #IMPLIED
137   title       %Text;         #IMPLIED"
138   >
139
140 <!-- internationalization attributes
141   lang        language code (backwards compatible)
142   xml:lang    language code (as per XML 1.0 spec)
143   dir         direction for weak/neutral text
144 -->
145 <!ENTITY % i18n
146  "lang        %LanguageCode; #IMPLIED
147   xml:lang    %LanguageCode; #IMPLIED
148   dir         (ltr|rtl)      #IMPLIED"
149   >
150
151 <!-- attributes for common UI events
152   onclick     a pointer button was clicked
153   ondblclick  a pointer button was double clicked
154   onmousedown a pointer button was pressed down
155   onmouseup   a pointer button was released
156   onmousemove a pointer was moved onto the element
157   onmouseout  a pointer was moved away from the element
158   onkeypress  a key was pressed and released
159   onkeydown   a key was pressed down
160   onkeyup     a key was released
161 -->
162 <!ENTITY % events
163  "onclick     %Script;       #IMPLIED
164   ondblclick  %Script;       #IMPLIED
165   onmousedown %Script;       #IMPLIED
166   onmouseup   %Script;       #IMPLIED
167   onmouseover %Script;       #IMPLIED
168   onmousemove %Script;       #IMPLIED
169   onmouseout  %Script;       #IMPLIED
170   onkeypress  %Script;       #IMPLIED
171   onkeydown   %Script;       #IMPLIED
172   onkeyup     %Script;       #IMPLIED"
173   >
174
175 <!-- attributes for elements that can get the focus
176   accesskey   accessibility key character
177   tabindex    position in tabbing order
178   onfocus     the element got the focus
179   onblur      the element lost the focus
180 -->
181 <!ENTITY % focus
182  "accesskey   %Character;    #IMPLIED
183   tabindex    %Number;       #IMPLIED
184   onfocus     %Script;       #IMPLIED
185   onblur      %Script;       #IMPLIED"
186   >
187
188 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
189
190 <!-- text alignment for p, div, h1-h6. The default is
191      align="left" for ltr headings, "right" for rtl -->
192
193 <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
194
195 <!--=================== Text Elements ====================================-->
196
197 <!ENTITY % special.extra
198    "object | applet | img | map | iframe">
199         
200 <!ENTITY % special.basic
201         "br | span | bdo">
202
203 <!ENTITY % special
204    "%special.basic; | %special.extra;">
205
206 <!ENTITY % fontstyle.extra "big | small | font | basefont">
207
208 <!ENTITY % fontstyle.basic "tt | i | b | u
209                       | s | strike ">
210
211 <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
212
213 <!ENTITY % phrase.extra "sub | sup">
214 <!ENTITY % phrase.basic "em | strong | dfn | code | q |
215                    samp | kbd | var | cite | abbr | acronym">
216
217 <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
218
219 <!ENTITY % inline.forms "input | select | textarea | label | button">
220
221 <!-- these can occur at block or inline level -->
222 <!ENTITY % misc.inline "ins | del | script">
223
224 <!-- these can only occur at block level -->
225 <!ENTITY % misc "noscript | %misc.inline;">
226
227 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
228
229 <!-- %Inline; covers inline or "text-level" elements -->
230 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
231
232 <!--================== Block level elements ==============================-->
233
234 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
235 <!ENTITY % lists "ul | ol | dl | menu | dir">
236 <!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
237
238 <!ENTITY % block
239     "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
240
241 <!-- %Flow; mixes block and inline and is used for list items etc. -->
242 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
243
244 <!--================== Content models for exclusions =====================-->
245
246 <!-- a elements use %Inline; excluding a -->
247
248 <!ENTITY % a.content
249    "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
250
251 <!-- pre uses %Inline excluding img, object, applet, big, small,
252      font, or basefont -->
253
254 <!ENTITY % pre.content
255    "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
256            %inline.forms; | %misc.inline;)*">
257
258 <!-- form uses %Flow; excluding form -->
259
260 <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
261
262 <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
263
264 <!ENTITY % button.content
265    "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
266       table | br | span | bdo | object | applet | img | map |
267       %fontstyle; | %phrase; | %misc;)*">
268
269 <!--================ Document Structure ==================================-->
270
271 <!-- the namespace URI designates the document profile -->
272
273 <!ELEMENT html (head, body)>
274 <!ATTLIST html
275   %i18n;
276   id          ID             #IMPLIED
277   xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
278   >
279
280 <!--================ Document Head =======================================-->
281
282 <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
283
284 <!-- content model is %head.misc; combined with a single
285      title and an optional base element in any order -->
286
287 <!ELEMENT head (%head.misc;,
288      ((title, %head.misc;, (base, %head.misc;)?) |
289       (base, %head.misc;, (title, %head.misc;))))>
290
291 <!ATTLIST head
292   %i18n;
293   id          ID             #IMPLIED
294   profile     %URI;          #IMPLIED
295   >
296
297 <!-- The title element is not considered part of the flow of text.
298        It should be displayed, for example as the page header or
299        window title. Exactly one title is required per document.
300     -->
301 <!ELEMENT title (#PCDATA)>
302 <!ATTLIST title 
303   %i18n;
304   id          ID             #IMPLIED
305   >
306
307 <!-- document base URI -->
308
309 <!ELEMENT base EMPTY>
310 <!ATTLIST base
311   id          ID             #IMPLIED
312   href        %URI;          #IMPLIED
313   target      %FrameTarget;  #IMPLIED
314   >
315
316 <!-- generic metainformation -->
317 <!ELEMENT meta EMPTY>
318 <!ATTLIST meta
319   %i18n;
320   id          ID             #IMPLIED
321   http-equiv  CDATA          #IMPLIED
322   name        CDATA          #IMPLIED
323   content     CDATA          #REQUIRED
324   scheme      CDATA          #IMPLIED
325   >
326
327 <!--
328   Relationship values can be used in principle:
329
330    a) for document specific toolbars/menus when used
331       with the link element in document head e.g.
332         start, contents, previous, next, index, end, help
333    b) to link to a separate style sheet (rel="stylesheet")
334    c) to make a link to a script (rel="script")
335    d) by stylesheets to control how collections of
336       html nodes are rendered into printed documents
337    e) to make a link to a printable version of this document
338       e.g. a PostScript or PDF version (rel="alternate" media="print")
339 -->
340
341 <!ELEMENT link EMPTY>
342 <!ATTLIST link
343   %attrs;
344   charset     %Charset;      #IMPLIED
345   href        %URI;          #IMPLIED
346   hreflang    %LanguageCode; #IMPLIED
347   type        %ContentType;  #IMPLIED
348   rel         %LinkTypes;    #IMPLIED
349   rev         %LinkTypes;    #IMPLIED
350   media       %MediaDesc;    #IMPLIED
351   target      %FrameTarget;  #IMPLIED
352   >
353
354 <!-- style info, which may include CDATA sections -->
355 <!ELEMENT style (#PCDATA)>
356 <!ATTLIST style
357   %i18n;
358   id          ID             #IMPLIED
359   type        %ContentType;  #REQUIRED
360   media       %MediaDesc;    #IMPLIED
361   title       %Text;         #IMPLIED
362   xml:space   (preserve)     #FIXED 'preserve'
363   >
364
365 <!-- script statements, which may include CDATA sections -->
366 <!ELEMENT script (#PCDATA)>
367 <!ATTLIST script
368   id          ID             #IMPLIED
369   charset     %Charset;      #IMPLIED
370   type        %ContentType;  #REQUIRED
371   language    CDATA          #IMPLIED
372   src         %URI;          #IMPLIED
373   defer       (defer)        #IMPLIED
374   xml:space   (preserve)     #FIXED 'preserve'
375   >
376
377 <!-- alternate content container for non script-based rendering -->
378
379 <!ELEMENT noscript %Flow;>
380 <!ATTLIST noscript
381   %attrs;
382   >
383
384 <!--======================= Frames =======================================-->
385
386 <!-- inline subwindow -->
387
388 <!ELEMENT iframe %Flow;>
389 <!ATTLIST iframe
390   %coreattrs;
391   longdesc    %URI;          #IMPLIED
392   name        NMTOKEN        #IMPLIED
393   src         %URI;          #IMPLIED
394   frameborder (1|0)          "1"
395   marginwidth %Pixels;       #IMPLIED
396   marginheight %Pixels;      #IMPLIED
397   scrolling   (yes|no|auto)  "auto"
398   align       %ImgAlign;     #IMPLIED
399   height      %Length;       #IMPLIED
400   width       %Length;       #IMPLIED
401   >
402
403 <!-- alternate content container for non frame-based rendering -->
404
405 <!ELEMENT noframes %Flow;>
406 <!ATTLIST noframes
407   %attrs;
408   >
409
410 <!--=================== Document Body ====================================-->
411
412 <!ELEMENT body %Flow;>
413 <!ATTLIST body
414   %attrs;
415   onload      %Script;       #IMPLIED
416   onunload    %Script;       #IMPLIED
417   background  %URI;          #IMPLIED
418   bgcolor     %Color;        #IMPLIED
419   text        %Color;        #IMPLIED
420   link        %Color;        #IMPLIED
421   vlink       %Color;        #IMPLIED
422   alink       %Color;        #IMPLIED
423   >
424
425 <!ELEMENT div %Flow;>  <!-- generic language/style container -->
426 <!ATTLIST div
427   %attrs;
428   %TextAlign;
429   >
430
431 <!--=================== Paragraphs =======================================-->
432
433 <!ELEMENT p %Inline;>
434 <!ATTLIST p
435   %attrs;
436   %TextAlign;
437   >
438
439 <!--=================== Headings =========================================-->
440
441 <!--
442   There are six levels of headings from h1 (the most important)
443   to h6 (the least important).
444 -->
445
446 <!ELEMENT h1  %Inline;>
447 <!ATTLIST h1
448   %attrs;
449   %TextAlign;
450   >
451
452 <!ELEMENT h2 %Inline;>
453 <!ATTLIST h2
454   %attrs;
455   %TextAlign;
456   >
457
458 <!ELEMENT h3 %Inline;>
459 <!ATTLIST h3
460   %attrs;
461   %TextAlign;
462   >
463
464 <!ELEMENT h4 %Inline;>
465 <!ATTLIST h4
466   %attrs;
467   %TextAlign;
468   >
469
470 <!ELEMENT h5 %Inline;>
471 <!ATTLIST h5
472   %attrs;
473   %TextAlign;
474   >
475
476 <!ELEMENT h6 %Inline;>
477 <!ATTLIST h6
478   %attrs;
479   %TextAlign;
480   >
481
482 <!--=================== Lists ============================================-->
483
484 <!-- Unordered list bullet styles -->
485
486 <!ENTITY % ULStyle "(disc|square|circle)">
487
488 <!-- Unordered list -->
489
490 <!ELEMENT ul (li)+>
491 <!ATTLIST ul
492   %attrs;
493   type        %ULStyle;     #IMPLIED
494   compact     (compact)     #IMPLIED
495   >
496
497 <!-- Ordered list numbering style
498
499     1   arabic numbers      1, 2, 3, ...
500     a   lower alpha         a, b, c, ...
501     A   upper alpha         A, B, C, ...
502     i   lower roman         i, ii, iii, ...
503     I   upper roman         I, II, III, ...
504
505     The style is applied to the sequence number which by default
506     is reset to 1 for the first list item in an ordered list.
507 -->
508 <!ENTITY % OLStyle "CDATA">
509
510 <!-- Ordered (numbered) list -->
511
512 <!ELEMENT ol (li)+>
513 <!ATTLIST ol
514   %attrs;
515   type        %OLStyle;      #IMPLIED
516   compact     (compact)      #IMPLIED
517   start       %Number;       #IMPLIED
518   >
519
520 <!-- single column list (DEPRECATED) --> 
521 <!ELEMENT menu (li)+>
522 <!ATTLIST menu
523   %attrs;
524   compact     (compact)     #IMPLIED
525   >
526
527 <!-- multiple column list (DEPRECATED) --> 
528 <!ELEMENT dir (li)+>
529 <!ATTLIST dir
530   %attrs;
531   compact     (compact)     #IMPLIED
532   >
533
534 <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
535 <!ENTITY % LIStyle "CDATA">
536
537 <!-- list item -->
538
539 <!ELEMENT li %Flow;>
540 <!ATTLIST li
541   %attrs;
542   type        %LIStyle;      #IMPLIED
543   value       %Number;       #IMPLIED
544   >
545
546 <!-- definition lists - dt for term, dd for its definition -->
547
548 <!ELEMENT dl (dt|dd)+>
549 <!ATTLIST dl
550   %attrs;
551   compact     (compact)      #IMPLIED
552   >
553
554 <!ELEMENT dt %Inline;>
555 <!ATTLIST dt
556   %attrs;
557   >
558
559 <!ELEMENT dd %Flow;>
560 <!ATTLIST dd
561   %attrs;
562   >
563
564 <!--=================== Address ==========================================-->
565
566 <!-- information on author -->
567
568 <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
569 <!ATTLIST address
570   %attrs;
571   >
572
573 <!--=================== Horizontal Rule ==================================-->
574
575 <!ELEMENT hr EMPTY>
576 <!ATTLIST hr
577   %attrs;
578   align       (left|center|right) #IMPLIED
579   noshade     (noshade)      #IMPLIED
580   size        %Pixels;       #IMPLIED
581   width       %Length;       #IMPLIED
582   >
583
584 <!--=================== Preformatted Text ================================-->
585
586 <!-- content is %Inline; excluding 
587         "img|object|applet|big|small|sub|sup|font|basefont" -->
588
589 <!ELEMENT pre %pre.content;>
590 <!ATTLIST pre
591   %attrs;
592   width       %Number;      #IMPLIED
593   xml:space   (preserve)    #FIXED 'preserve'
594   >
595
596 <!--=================== Block-like Quotes ================================-->
597
598 <!ELEMENT blockquote %Flow;>
599 <!ATTLIST blockquote
600   %attrs;
601   cite        %URI;          #IMPLIED
602   >
603
604 <!--=================== Text alignment ===================================-->
605
606 <!-- center content -->
607 <!ELEMENT center %Flow;>
608 <!ATTLIST center
609   %attrs;
610   >
611
612 <!--=================== Inserted/Deleted Text ============================-->
613
614 <!--
615   ins/del are allowed in block and inline content, but its
616   inappropriate to include block content within an ins element
617   occurring in inline content.
618 -->
619 <!ELEMENT ins %Flow;>
620 <!ATTLIST ins
621   %attrs;
622   cite        %URI;          #IMPLIED
623   datetime    %Datetime;     #IMPLIED
624   >
625
626 <!ELEMENT del %Flow;>
627 <!ATTLIST del
628   %attrs;
629   cite        %URI;          #IMPLIED
630   datetime    %Datetime;     #IMPLIED
631   >
632
633 <!--================== The Anchor Element ================================-->
634
635 <!-- content is %Inline; except that anchors shouldn't be nested -->
636
637 <!ELEMENT a %a.content;>
638 <!ATTLIST a
639   %attrs;
640   %focus;
641   charset     %Charset;      #IMPLIED
642   type        %ContentType;  #IMPLIED
643   name        NMTOKEN        #IMPLIED
644   href        %URI;          #IMPLIED
645   hreflang    %LanguageCode; #IMPLIED
646   rel         %LinkTypes;    #IMPLIED
647   rev         %LinkTypes;    #IMPLIED
648   shape       %Shape;        "rect"
649   coords      %Coords;       #IMPLIED
650   target      %FrameTarget;  #IMPLIED
651   >
652
653 <!--===================== Inline Elements ================================-->
654
655 <!ELEMENT span %Inline;> <!-- generic language/style container -->
656 <!ATTLIST span
657   %attrs;
658   >
659
660 <!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
661 <!ATTLIST bdo
662   %coreattrs;
663   %events;
664   lang        %LanguageCode; #IMPLIED
665   xml:lang    %LanguageCode; #IMPLIED
666   dir         (ltr|rtl)      #REQUIRED
667   >
668
669 <!ELEMENT br EMPTY>   <!-- forced line break -->
670 <!ATTLIST br
671   %coreattrs;
672   clear       (left|all|right|none) "none"
673   >
674
675 <!ELEMENT em %Inline;>   <!-- emphasis -->
676 <!ATTLIST em %attrs;>
677
678 <!ELEMENT strong %Inline;>   <!-- strong emphasis -->
679 <!ATTLIST strong %attrs;>
680
681 <!ELEMENT dfn %Inline;>   <!-- definitional -->
682 <!ATTLIST dfn %attrs;>
683
684 <!ELEMENT code %Inline;>   <!-- program code -->
685 <!ATTLIST code %attrs;>
686
687 <!ELEMENT samp %Inline;>   <!-- sample -->
688 <!ATTLIST samp %attrs;>
689
690 <!ELEMENT kbd %Inline;>  <!-- something user would type -->
691 <!ATTLIST kbd %attrs;>
692
693 <!ELEMENT var %Inline;>   <!-- variable -->
694 <!ATTLIST var %attrs;>
695
696 <!ELEMENT cite %Inline;>   <!-- citation -->
697 <!ATTLIST cite %attrs;>
698
699 <!ELEMENT abbr %Inline;>   <!-- abbreviation -->
700 <!ATTLIST abbr %attrs;>
701
702 <!ELEMENT acronym %Inline;>   <!-- acronym -->
703 <!ATTLIST acronym %attrs;>
704
705 <!ELEMENT q %Inline;>   <!-- inlined quote -->
706 <!ATTLIST q
707   %attrs;
708   cite        %URI;          #IMPLIED
709   >
710
711 <!ELEMENT sub %Inline;> <!-- subscript -->
712 <!ATTLIST sub %attrs;>
713
714 <!ELEMENT sup %Inline;> <!-- superscript -->
715 <!ATTLIST sup %attrs;>
716
717 <!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
718 <!ATTLIST tt %attrs;>
719
720 <!ELEMENT i %Inline;>   <!-- italic font -->
721 <!ATTLIST i %attrs;>
722
723 <!ELEMENT b %Inline;>   <!-- bold font -->
724 <!ATTLIST b %attrs;>
725
726 <!ELEMENT big %Inline;>   <!-- bigger font -->
727 <!ATTLIST big %attrs;>
728
729 <!ELEMENT small %Inline;>   <!-- smaller font -->
730 <!ATTLIST small %attrs;>
731
732 <!ELEMENT u %Inline;>   <!-- underline -->
733 <!ATTLIST u %attrs;>
734
735 <!ELEMENT s %Inline;>   <!-- strike-through -->
736 <!ATTLIST s %attrs;>
737
738 <!ELEMENT strike %Inline;>   <!-- strike-through -->
739 <!ATTLIST strike %attrs;>
740
741 <!ELEMENT basefont EMPTY>  <!-- base font size -->
742 <!ATTLIST basefont
743   id          ID             #IMPLIED
744   size        CDATA          #REQUIRED
745   color       %Color;        #IMPLIED
746   face        CDATA          #IMPLIED
747   >
748
749 <!ELEMENT font %Inline;> <!-- local change to font -->
750 <!ATTLIST font
751   %coreattrs;
752   %i18n;
753   size        CDATA          #IMPLIED
754   color       %Color;        #IMPLIED
755   face        CDATA          #IMPLIED
756   >
757
758 <!--==================== Object ======================================-->
759 <!--
760   object is used to embed objects as part of HTML pages.
761   param elements should precede other content. Parameters
762   can also be expressed as attribute/value pairs on the
763   object element itself when brevity is desired.
764 -->
765
766 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
767 <!ATTLIST object
768   %attrs;
769   declare     (declare)      #IMPLIED
770   classid     %URI;          #IMPLIED
771   codebase    %URI;          #IMPLIED
772   data        %URI;          #IMPLIED
773   type        %ContentType;  #IMPLIED
774   codetype    %ContentType;  #IMPLIED
775   archive     %UriList;      #IMPLIED
776   standby     %Text;         #IMPLIED
777   height      %Length;       #IMPLIED
778   width       %Length;       #IMPLIED
779   usemap      %URI;          #IMPLIED
780   name        NMTOKEN        #IMPLIED
781   tabindex    %Number;       #IMPLIED
782   align       %ImgAlign;     #IMPLIED
783   border      %Pixels;       #IMPLIED
784   hspace      %Pixels;       #IMPLIED
785   vspace      %Pixels;       #IMPLIED
786   >
787
788 <!--
789   param is used to supply a named property value.
790   In XML it would seem natural to follow RDF and support an
791   abbreviated syntax where the param elements are replaced
792   by attribute value pairs on the object start tag.
793 -->
794 <!ELEMENT param EMPTY>
795 <!ATTLIST param
796   id          ID             #IMPLIED
797   name        CDATA          #REQUIRED
798   value       CDATA          #IMPLIED
799   valuetype   (data|ref|object) "data"
800   type        %ContentType;  #IMPLIED
801   >
802
803 <!--=================== Java applet ==================================-->
804 <!--
805   One of code or object attributes must be present.
806   Place param elements before other content.
807 -->
808 <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
809 <!ATTLIST applet
810   %coreattrs;
811   codebase    %URI;          #IMPLIED
812   archive     CDATA          #IMPLIED
813   code        CDATA          #IMPLIED
814   object      CDATA          #IMPLIED
815   alt         %Text;         #IMPLIED
816   name        NMTOKEN        #IMPLIED
817   width       %Length;       #REQUIRED
818   height      %Length;       #REQUIRED
819   align       %ImgAlign;     #IMPLIED
820   hspace      %Pixels;       #IMPLIED
821   vspace      %Pixels;       #IMPLIED
822   >
823
824 <!--=================== Images ===========================================-->
825
826 <!--
827    To avoid accessibility problems for people who aren't
828    able to see the image, you should provide a text
829    description using the alt and longdesc attributes.
830    In addition, avoid the use of server-side image maps.
831 -->
832
833 <!ELEMENT img EMPTY>
834 <!ATTLIST img
835   %attrs;
836   src         %URI;          #REQUIRED
837   alt         %Text;         #REQUIRED
838   name        NMTOKEN        #IMPLIED
839   longdesc    %URI;          #IMPLIED
840   height      %Length;       #IMPLIED
841   width       %Length;       #IMPLIED
842   usemap      %URI;          #IMPLIED
843   ismap       (ismap)        #IMPLIED
844   align       %ImgAlign;     #IMPLIED
845   border      %Length;       #IMPLIED
846   hspace      %Pixels;       #IMPLIED
847   vspace      %Pixels;       #IMPLIED
848   >
849
850 <!-- usemap points to a map element which may be in this document
851   or an external document, although the latter is not widely supported -->
852
853 <!--================== Client-side image maps ============================-->
854
855 <!-- These can be placed in the same document or grouped in a
856      separate document although this isn't yet widely supported -->
857
858 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
859 <!ATTLIST map
860   %i18n;
861   %events;
862   id          ID             #REQUIRED
863   class       CDATA          #IMPLIED
864   style       %StyleSheet;   #IMPLIED
865   title       %Text;         #IMPLIED
866   name        CDATA          #IMPLIED
867   >
868
869 <!ELEMENT area EMPTY>
870 <!ATTLIST area
871   %attrs;
872   %focus;
873   shape       %Shape;        "rect"
874   coords      %Coords;       #IMPLIED
875   href        %URI;          #IMPLIED
876   nohref      (nohref)       #IMPLIED
877   alt         %Text;         #REQUIRED
878   target      %FrameTarget;  #IMPLIED
879   >
880
881 <!--================ Forms ===============================================-->
882
883 <!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
884
885 <!ATTLIST form
886   %attrs;
887   action      %URI;          #REQUIRED
888   method      (get|post)     "get"
889   name        NMTOKEN        #IMPLIED
890   enctype     %ContentType;  "application/x-www-form-urlencoded"
891   onsubmit    %Script;       #IMPLIED
892   onreset     %Script;       #IMPLIED
893   accept      %ContentTypes; #IMPLIED
894   accept-charset %Charsets;  #IMPLIED
895   target      %FrameTarget;  #IMPLIED
896   >
897
898 <!--
899   Each label must not contain more than ONE field
900   Label elements shouldn't be nested.
901 -->
902 <!ELEMENT label %Inline;>
903 <!ATTLIST label
904   %attrs;
905   for         IDREF          #IMPLIED
906   accesskey   %Character;    #IMPLIED
907   onfocus     %Script;       #IMPLIED
908   onblur      %Script;       #IMPLIED
909   >
910
911 <!ENTITY % InputType
912   "(text | password | checkbox |
913     radio | submit | reset |
914     file | hidden | image | button)"
915    >
916
917 <!-- the name attribute is required for all but submit & reset -->
918
919 <!ELEMENT input EMPTY>     <!-- form control -->
920 <!ATTLIST input
921   %attrs;
922   %focus;
923   type        %InputType;    "text"
924   name        CDATA          #IMPLIED
925   value       CDATA          #IMPLIED
926   checked     (checked)      #IMPLIED
927   disabled    (disabled)     #IMPLIED
928   readonly    (readonly)     #IMPLIED
929   size        CDATA          #IMPLIED
930   maxlength   %Number;       #IMPLIED
931   src         %URI;          #IMPLIED
932   alt         CDATA          #IMPLIED
933   usemap      %URI;          #IMPLIED
934   onselect    %Script;       #IMPLIED
935   onchange    %Script;       #IMPLIED
936   accept      %ContentTypes; #IMPLIED
937   align       %ImgAlign;     #IMPLIED
938   >
939
940 <!ELEMENT select (optgroup|option)+>  <!-- option selector -->
941 <!ATTLIST select
942   %attrs;
943   name        CDATA          #IMPLIED
944   size        %Number;       #IMPLIED
945   multiple    (multiple)     #IMPLIED
946   disabled    (disabled)     #IMPLIED
947   tabindex    %Number;       #IMPLIED
948   onfocus     %Script;       #IMPLIED
949   onblur      %Script;       #IMPLIED
950   onchange    %Script;       #IMPLIED
951   >
952
953 <!ELEMENT optgroup (option)+>   <!-- option group -->
954 <!ATTLIST optgroup
955   %attrs;
956   disabled    (disabled)     #IMPLIED
957   label       %Text;         #REQUIRED
958   >
959
960 <!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
961 <!ATTLIST option
962   %attrs;
963   selected    (selected)     #IMPLIED
964   disabled    (disabled)     #IMPLIED
965   label       %Text;         #IMPLIED
966   value       CDATA          #IMPLIED
967   >
968
969 <!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
970 <!ATTLIST textarea
971   %attrs;
972   %focus;
973   name        CDATA          #IMPLIED
974   rows        %Number;       #REQUIRED
975   cols        %Number;       #REQUIRED
976   disabled    (disabled)     #IMPLIED
977   readonly    (readonly)     #IMPLIED
978   onselect    %Script;       #IMPLIED
979   onchange    %Script;       #IMPLIED
980   >
981
982 <!--
983   The fieldset element is used to group form fields.
984   Only one legend element should occur in the content
985   and if present should only be preceded by whitespace.
986 -->
987 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
988 <!ATTLIST fieldset
989   %attrs;
990   >
991
992 <!ENTITY % LAlign "(top|bottom|left|right)">
993
994 <!ELEMENT legend %Inline;>     <!-- fieldset label -->
995 <!ATTLIST legend
996   %attrs;
997   accesskey   %Character;    #IMPLIED
998   align       %LAlign;       #IMPLIED
999   >
1000
1001 <!--
1002  Content is %Flow; excluding a, form, form controls, iframe
1003 --> 
1004 <!ELEMENT button %button.content;>  <!-- push button -->
1005 <!ATTLIST button
1006   %attrs;
1007   %focus;
1008   name        CDATA          #IMPLIED
1009   value       CDATA          #IMPLIED
1010   type        (button|submit|reset) "submit"
1011   disabled    (disabled)     #IMPLIED
1012   >
1013
1014 <!-- single-line text input control (DEPRECATED) -->
1015 <!ELEMENT isindex EMPTY>
1016 <!ATTLIST isindex
1017   %coreattrs;
1018   %i18n;
1019   prompt      %Text;         #IMPLIED
1020   >
1021
1022 <!--======================= Tables =======================================-->
1023
1024 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
1025
1026 <!--
1027  The border attribute sets the thickness of the frame around the
1028  table. The default units are screen pixels.
1029
1030  The frame attribute specifies which parts of the frame around
1031  the table should be rendered. The values are not the same as
1032  CALS to avoid a name clash with the valign attribute.
1033 -->
1034 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1035
1036 <!--
1037  The rules attribute defines which rules to draw between cells:
1038
1039  If rules is absent then assume:
1040      "none" if border is absent or border="0" otherwise "all"
1041 -->
1042
1043 <!ENTITY % TRules "(none | groups | rows | cols | all)">
1044   
1045 <!-- horizontal placement of table relative to document -->
1046 <!ENTITY % TAlign "(left|center|right)">
1047
1048 <!-- horizontal alignment attributes for cell contents
1049
1050   char        alignment char, e.g. char=':'
1051   charoff     offset for alignment char
1052 -->
1053 <!ENTITY % cellhalign
1054   "align      (left|center|right|justify|char) #IMPLIED
1055    char       %Character;    #IMPLIED
1056    charoff    %Length;       #IMPLIED"
1057   >
1058
1059 <!-- vertical alignment attributes for cell contents -->
1060 <!ENTITY % cellvalign
1061   "valign     (top|middle|bottom|baseline) #IMPLIED"
1062   >
1063
1064 <!ELEMENT table
1065      (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1066 <!ELEMENT caption  %Inline;>
1067 <!ELEMENT thead    (tr)+>
1068 <!ELEMENT tfoot    (tr)+>
1069 <!ELEMENT tbody    (tr)+>
1070 <!ELEMENT colgroup (col)*>
1071 <!ELEMENT col      EMPTY>
1072 <!ELEMENT tr       (th|td)+>
1073 <!ELEMENT th       %Flow;>
1074 <!ELEMENT td       %Flow;>
1075
1076 <!ATTLIST table
1077   %attrs;
1078   summary     %Text;         #IMPLIED
1079   width       %Length;       #IMPLIED
1080   border      %Pixels;       #IMPLIED
1081   frame       %TFrame;       #IMPLIED
1082   rules       %TRules;       #IMPLIED
1083   cellspacing %Length;       #IMPLIED
1084   cellpadding %Length;       #IMPLIED
1085   align       %TAlign;       #IMPLIED
1086   bgcolor     %Color;        #IMPLIED
1087   >
1088
1089 <!ENTITY % CAlign "(top|bottom|left|right)">
1090
1091 <!ATTLIST caption
1092   %attrs;
1093   align       %CAlign;       #IMPLIED
1094   >
1095
1096 <!--
1097 colgroup groups a set of col elements. It allows you to group
1098 several semantically related columns together.
1099 -->
1100 <!ATTLIST colgroup
1101   %attrs;
1102   span        %Number;       "1"
1103   width       %MultiLength;  #IMPLIED
1104   %cellhalign;
1105   %cellvalign;
1106   >
1107
1108 <!--
1109  col elements define the alignment properties for cells in
1110  one or more columns.
1111
1112  The width attribute specifies the width of the columns, e.g.
1113
1114      width=64        width in screen pixels
1115      width=0.5*      relative width of 0.5
1116
1117  The span attribute causes the attributes of one
1118  col element to apply to more than one column.
1119 -->
1120 <!ATTLIST col
1121   %attrs;
1122   span        %Number;       "1"
1123   width       %MultiLength;  #IMPLIED
1124   %cellhalign;
1125   %cellvalign;
1126   >
1127
1128 <!--
1129     Use thead to duplicate headers when breaking table
1130     across page boundaries, or for static headers when
1131     tbody sections are rendered in scrolling panel.
1132
1133     Use tfoot to duplicate footers when breaking table
1134     across page boundaries, or for static footers when
1135     tbody sections are rendered in scrolling panel.
1136
1137     Use multiple tbody sections when rules are needed
1138     between groups of table rows.
1139 -->
1140 <!ATTLIST thead
1141   %attrs;
1142   %cellhalign;
1143   %cellvalign;
1144   >
1145
1146 <!ATTLIST tfoot
1147   %attrs;
1148   %cellhalign;
1149   %cellvalign;
1150   >
1151
1152 <!ATTLIST tbody
1153   %attrs;
1154   %cellhalign;
1155   %cellvalign;
1156   >
1157
1158 <!ATTLIST tr
1159   %attrs;
1160   %cellhalign;
1161   %cellvalign;
1162   bgcolor     %Color;        #IMPLIED
1163   >
1164
1165 <!-- Scope is simpler than headers attribute for common tables -->
1166 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1167
1168 <!-- th is for headers, td for data and for cells acting as both -->
1169
1170 <!ATTLIST th
1171   %attrs;
1172   abbr        %Text;         #IMPLIED
1173   axis        CDATA          #IMPLIED
1174   headers     IDREFS         #IMPLIED
1175   scope       %Scope;        #IMPLIED
1176   rowspan     %Number;       "1"
1177   colspan     %Number;       "1"
1178   %cellhalign;
1179   %cellvalign;
1180   nowrap      (nowrap)       #IMPLIED
1181   bgcolor     %Color;        #IMPLIED
1182   width       %Length;       #IMPLIED
1183   height      %Length;       #IMPLIED
1184   >
1185
1186 <!ATTLIST td
1187   %attrs;
1188   abbr        %Text;         #IMPLIED
1189   axis        CDATA          #IMPLIED
1190   headers     IDREFS         #IMPLIED
1191   scope       %Scope;        #IMPLIED
1192   rowspan     %Number;       "1"
1193   colspan     %Number;       "1"
1194   %cellhalign;
1195   %cellvalign;
1196   nowrap      (nowrap)       #IMPLIED
1197   bgcolor     %Color;        #IMPLIED
1198   width       %Length;       #IMPLIED
1199   height      %Length;       #IMPLIED
1200   >
1201