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