Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<!--
2
   Extensible HTML version 1.0 Strict DTD
3
 
4
   This is the same as HTML 4 Strict 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 Strict//EN"
17
   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
18
 
19
   $Revision: 1.1 $
20
   $Date: 2002/08/01 13:56:03 $
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 % Length "CDATA">
89
    <!-- nn for pixels or nn% for percentage length -->
90
 
91
<!ENTITY % MultiLength "CDATA">
92
    <!-- pixel, percentage, or relative -->
93
 
94
<!ENTITY % Pixels "CDATA">
95
    <!-- integer representing length in pixels -->
96
 
97
<!-- these are used for image maps -->
98
 
99
<!ENTITY % Shape "(rect|circle|poly|default)">
100
 
101
<!ENTITY % Coords "CDATA">
102
    <!-- comma separated list of lengths -->
103
 
104
<!--=================== Generic Attributes ===============================-->
105
 
106
<!-- core attributes common to most elements
107
  id       document-wide unique id
108
  class    space separated list of classes
109
  style    associated style info
110
  title    advisory title/amplification
111
-->
112
<!ENTITY % coreattrs
113
 "id          ID             #IMPLIED
114
  class       CDATA          #IMPLIED
115
  style       %StyleSheet;   #IMPLIED
116
  title       %Text;         #IMPLIED"
117
  >
118
 
119
<!-- internationalization attributes
120
  lang        language code (backwards compatible)
121
  xml:lang    language code (as per XML 1.0 spec)
122
  dir         direction for weak/neutral text
123
-->
124
<!ENTITY % i18n
125
 "lang        %LanguageCode; #IMPLIED
126
  xml:lang    %LanguageCode; #IMPLIED
127
  dir         (ltr|rtl)      #IMPLIED"
128
  >
129
 
130
<!-- attributes for common UI events
131
  onclick     a pointer button was clicked
132
  ondblclick  a pointer button was double clicked
133
  onmousedown a pointer button was pressed down
134
  onmouseup   a pointer button was released
135
  onmousemove a pointer was moved onto the element
136
  onmouseout  a pointer was moved away from the element
137
  onkeypress  a key was pressed and released
138
  onkeydown   a key was pressed down
139
  onkeyup     a key was released
140
-->
141
<!ENTITY % events
142
 "onclick     %Script;       #IMPLIED
143
  ondblclick  %Script;       #IMPLIED
144
  onmousedown %Script;       #IMPLIED
145
  onmouseup   %Script;       #IMPLIED
146
  onmouseover %Script;       #IMPLIED
147
  onmousemove %Script;       #IMPLIED
148
  onmouseout  %Script;       #IMPLIED
149
  onkeypress  %Script;       #IMPLIED
150
  onkeydown   %Script;       #IMPLIED
151
  onkeyup     %Script;       #IMPLIED"
152
  >
153
 
154
<!-- attributes for elements that can get the focus
155
  accesskey   accessibility key character
156
  tabindex    position in tabbing order
157
  onfocus     the element got the focus
158
  onblur      the element lost the focus
159
-->
160
<!ENTITY % focus
161
 "accesskey   %Character;    #IMPLIED
162
  tabindex    %Number;       #IMPLIED
163
  onfocus     %Script;       #IMPLIED
164
  onblur      %Script;       #IMPLIED"
165
  >
166
 
167
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
168
 
169
<!--=================== Text Elements ====================================-->
170
 
171
<!ENTITY % special.pre
172
   "br | span | bdo | map">
173
 
174
 
175
<!ENTITY % special
176
   "%special.pre; | object | img ">
177
 
178
<!ENTITY % fontstyle "tt | i | b | big | small ">
179
 
180
<!ENTITY % phrase "em | strong | dfn | code | q |
181
                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
182
 
183
<!ENTITY % inline.forms "input | select | textarea | label | button">
184
 
185
<!-- these can occur at block or inline level -->
186
<!ENTITY % misc.inline "ins | del | script">
187
 
188
<!-- these can only occur at block level -->
189
<!ENTITY % misc "noscript | %misc.inline;">
190
 
191
<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
192
 
193
<!-- %Inline; covers inline or "text-level" elements -->
194
<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
195
 
196
<!--================== Block level elements ==============================-->
197
 
198
<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
199
<!ENTITY % lists "ul | ol | dl">
200
<!ENTITY % blocktext "pre | hr | blockquote | address">
201
 
202
<!ENTITY % block
203
     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
204
 
205
<!ENTITY % Block "(%block; | form | %misc;)*">
206
 
207
<!-- %Flow; mixes block and inline and is used for list items etc. -->
208
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
209
 
210
<!--================== Content models for exclusions =====================-->
211
 
212
<!-- a elements use %Inline; excluding a -->
213
 
214
<!ENTITY % a.content
215
   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
216
 
217
<!-- pre uses %Inline excluding big, small, sup or sup -->
218
 
219
<!ENTITY % pre.content
220
   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
221
      | %inline.forms;)*">
222
 
223
<!-- form uses %Block; excluding form -->
224
 
225
<!ENTITY % form.content "(%block; | %misc;)*">
226
 
227
<!-- button uses %Flow; but excludes a, form and form controls -->
228
 
229
<!ENTITY % button.content
230
   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
231
    table | %special; | %fontstyle; | %phrase; | %misc;)*">
232
 
233
<!--================ Document Structure ==================================-->
234
 
235
<!-- the namespace URI designates the document profile -->
236
 
237
<!ELEMENT html (head, body)>
238
<!ATTLIST html
239
  %i18n;
240
  id          ID             #IMPLIED
241
  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
242
  >
243
 
244
<!--================ Document Head =======================================-->
245
 
246
<!ENTITY % head.misc "(script|style|meta|link|object)*">
247
 
248
<!-- content model is %head.misc; combined with a single
249
     title and an optional base element in any order -->
250
 
251
<!ELEMENT head (%head.misc;,
252
     ((title, %head.misc;, (base, %head.misc;)?) |
253
      (base, %head.misc;, (title, %head.misc;))))>
254
 
255
<!ATTLIST head
256
  %i18n;
257
  id          ID             #IMPLIED
258
  profile     %URI;          #IMPLIED
259
  >
260
 
261
<!-- The title element is not considered part of the flow of text.
262
       It should be displayed, for example as the page header or
263
       window title. Exactly one title is required per document.
264
    -->
265
<!ELEMENT title (#PCDATA)>
266
<!ATTLIST title
267
  %i18n;
268
  id          ID             #IMPLIED
269
  >
270
 
271
<!-- document base URI -->
272
 
273
<!ELEMENT base EMPTY>
274
<!ATTLIST base
275
  href        %URI;          #REQUIRED
276
  id          ID             #IMPLIED
277
  >
278
 
279
<!-- generic metainformation -->
280
<!ELEMENT meta EMPTY>
281
<!ATTLIST meta
282
  %i18n;
283
  id          ID             #IMPLIED
284
  http-equiv  CDATA          #IMPLIED
285
  name        CDATA          #IMPLIED
286
  content     CDATA          #REQUIRED
287
  scheme      CDATA          #IMPLIED
288
  >
289
 
290
<!--
291
  Relationship values can be used in principle:
292
 
293
   a) for document specific toolbars/menus when used
294
      with the link element in document head e.g.
295
        start, contents, previous, next, index, end, help
296
   b) to link to a separate style sheet (rel="stylesheet")
297
   c) to make a link to a script (rel="script")
298
   d) by stylesheets to control how collections of
299
      html nodes are rendered into printed documents
300
   e) to make a link to a printable version of this document
301
      e.g. a PostScript or PDF version (rel="alternate" media="print")
302
-->
303
 
304
<!ELEMENT link EMPTY>
305
<!ATTLIST link
306
  %attrs;
307
  charset     %Charset;      #IMPLIED
308
  href        %URI;          #IMPLIED
309
  hreflang    %LanguageCode; #IMPLIED
310
  type        %ContentType;  #IMPLIED
311
  rel         %LinkTypes;    #IMPLIED
312
  rev         %LinkTypes;    #IMPLIED
313
  media       %MediaDesc;    #IMPLIED
314
  >
315
 
316
<!-- style info, which may include CDATA sections -->
317
<!ELEMENT style (#PCDATA)>
318
<!ATTLIST style
319
  %i18n;
320
  id          ID             #IMPLIED
321
  type        %ContentType;  #REQUIRED
322
  media       %MediaDesc;    #IMPLIED
323
  title       %Text;         #IMPLIED
324
  xml:space   (preserve)     #FIXED 'preserve'
325
  >
326
 
327
<!-- script statements, which may include CDATA sections -->
328
<!ELEMENT script (#PCDATA)>
329
<!ATTLIST script
330
  id          ID             #IMPLIED
331
  charset     %Charset;      #IMPLIED
332
  type        %ContentType;  #REQUIRED
333
  src         %URI;          #IMPLIED
334
  defer       (defer)        #IMPLIED
335
  xml:space   (preserve)     #FIXED 'preserve'
336
  >
337
 
338
<!-- alternate content container for non script-based rendering -->
339
 
340
<!ELEMENT noscript %Block;>
341
<!ATTLIST noscript
342
  %attrs;
343
  >
344
 
345
<!--=================== Document Body ====================================-->
346
 
347
<!ELEMENT body %Block;>
348
<!ATTLIST body
349
  %attrs;
350
  onload          %Script;   #IMPLIED
351
  onunload        %Script;   #IMPLIED
352
  >
353
 
354
<!ELEMENT div %Flow;>  <!-- generic language/style container -->
355
<!ATTLIST div
356
  %attrs;
357
  >
358
 
359
<!--=================== Paragraphs =======================================-->
360
 
361
<!ELEMENT p %Inline;>
362
<!ATTLIST p
363
  %attrs;
364
  >
365
 
366
<!--=================== Headings =========================================-->
367
 
368
<!--
369
  There are six levels of headings from h1 (the most important)
370
  to h6 (the least important).
371
-->
372
 
373
<!ELEMENT h1  %Inline;>
374
<!ATTLIST h1
375
   %attrs;
376
   >
377
 
378
<!ELEMENT h2 %Inline;>
379
<!ATTLIST h2
380
   %attrs;
381
   >
382
 
383
<!ELEMENT h3 %Inline;>
384
<!ATTLIST h3
385
   %attrs;
386
   >
387
 
388
<!ELEMENT h4 %Inline;>
389
<!ATTLIST h4
390
   %attrs;
391
   >
392
 
393
<!ELEMENT h5 %Inline;>
394
<!ATTLIST h5
395
   %attrs;
396
   >
397
 
398
<!ELEMENT h6 %Inline;>
399
<!ATTLIST h6
400
   %attrs;
401
   >
402
 
403
<!--=================== Lists ============================================-->
404
 
405
<!-- Unordered list -->
406
 
407
<!ELEMENT ul (li)+>
408
<!ATTLIST ul
409
  %attrs;
410
  >
411
 
412
<!-- Ordered (numbered) list -->
413
 
414
<!ELEMENT ol (li)+>
415
<!ATTLIST ol
416
  %attrs;
417
  >
418
 
419
<!-- list item -->
420
 
421
<!ELEMENT li %Flow;>
422
<!ATTLIST li
423
  %attrs;
424
  >
425
 
426
<!-- definition lists - dt for term, dd for its definition -->
427
 
428
<!ELEMENT dl (dt|dd)+>
429
<!ATTLIST dl
430
  %attrs;
431
  >
432
 
433
<!ELEMENT dt %Inline;>
434
<!ATTLIST dt
435
  %attrs;
436
  >
437
 
438
<!ELEMENT dd %Flow;>
439
<!ATTLIST dd
440
  %attrs;
441
  >
442
 
443
<!--=================== Address ==========================================-->
444
 
445
<!-- information on author -->
446
 
447
<!ELEMENT address %Inline;>
448
<!ATTLIST address
449
  %attrs;
450
  >
451
 
452
<!--=================== Horizontal Rule ==================================-->
453
 
454
<!ELEMENT hr EMPTY>
455
<!ATTLIST hr
456
  %attrs;
457
  >
458
 
459
<!--=================== Preformatted Text ================================-->
460
 
461
<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
462
 
463
<!ELEMENT pre %pre.content;>
464
<!ATTLIST pre
465
  %attrs;
466
  xml:space (preserve) #FIXED 'preserve'
467
  >
468
 
469
<!--=================== Block-like Quotes ================================-->
470
 
471
<!ELEMENT blockquote %Block;>
472
<!ATTLIST blockquote
473
  %attrs;
474
  cite        %URI;          #IMPLIED
475
  >
476
 
477
<!--=================== Inserted/Deleted Text ============================-->
478
 
479
<!--
480
  ins/del are allowed in block and inline content, but its
481
  inappropriate to include block content within an ins element
482
  occurring in inline content.
483
-->
484
<!ELEMENT ins %Flow;>
485
<!ATTLIST ins
486
  %attrs;
487
  cite        %URI;          #IMPLIED
488
  datetime    %Datetime;     #IMPLIED
489
  >
490
 
491
<!ELEMENT del %Flow;>
492
<!ATTLIST del
493
  %attrs;
494
  cite        %URI;          #IMPLIED
495
  datetime    %Datetime;     #IMPLIED
496
  >
497
 
498
<!--================== The Anchor Element ================================-->
499
 
500
<!-- content is %Inline; except that anchors shouldn't be nested -->
501
 
502
<!ELEMENT a %a.content;>
503
<!ATTLIST a
504
  %attrs;
505
  %focus;
506
  charset     %Charset;      #IMPLIED
507
  type        %ContentType;  #IMPLIED
508
  name        NMTOKEN        #IMPLIED
509
  href        %URI;          #IMPLIED
510
  hreflang    %LanguageCode; #IMPLIED
511
  rel         %LinkTypes;    #IMPLIED
512
  rev         %LinkTypes;    #IMPLIED
513
  shape       %Shape;        "rect"
514
  coords      %Coords;       #IMPLIED
515
  >
516
 
517
<!--===================== Inline Elements ================================-->
518
 
519
<!ELEMENT span %Inline;> <!-- generic language/style container -->
520
<!ATTLIST span
521
  %attrs;
522
  >
523
 
524
<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
525
<!ATTLIST bdo
526
  %coreattrs;
527
  %events;
528
  lang        %LanguageCode; #IMPLIED
529
  xml:lang    %LanguageCode; #IMPLIED
530
  dir         (ltr|rtl)      #REQUIRED
531
  >
532
 
533
<!ELEMENT br EMPTY>   <!-- forced line break -->
534
<!ATTLIST br
535
  %coreattrs;
536
  >
537
 
538
<!ELEMENT em %Inline;>   <!-- emphasis -->
539
<!ATTLIST em %attrs;>
540
 
541
<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
542
<!ATTLIST strong %attrs;>
543
 
544
<!ELEMENT dfn %Inline;>   <!-- definitional -->
545
<!ATTLIST dfn %attrs;>
546
 
547
<!ELEMENT code %Inline;>   <!-- program code -->
548
<!ATTLIST code %attrs;>
549
 
550
<!ELEMENT samp %Inline;>   <!-- sample -->
551
<!ATTLIST samp %attrs;>
552
 
553
<!ELEMENT kbd %Inline;>  <!-- something user would type -->
554
<!ATTLIST kbd %attrs;>
555
 
556
<!ELEMENT var %Inline;>   <!-- variable -->
557
<!ATTLIST var %attrs;>
558
 
559
<!ELEMENT cite %Inline;>   <!-- citation -->
560
<!ATTLIST cite %attrs;>
561
 
562
<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
563
<!ATTLIST abbr %attrs;>
564
 
565
<!ELEMENT acronym %Inline;>   <!-- acronym -->
566
<!ATTLIST acronym %attrs;>
567
 
568
<!ELEMENT q %Inline;>   <!-- inlined quote -->
569
<!ATTLIST q
570
  %attrs;
571
  cite        %URI;          #IMPLIED
572
  >
573
 
574
<!ELEMENT sub %Inline;> <!-- subscript -->
575
<!ATTLIST sub %attrs;>
576
 
577
<!ELEMENT sup %Inline;> <!-- superscript -->
578
<!ATTLIST sup %attrs;>
579
 
580
<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
581
<!ATTLIST tt %attrs;>
582
 
583
<!ELEMENT i %Inline;>   <!-- italic font -->
584
<!ATTLIST i %attrs;>
585
 
586
<!ELEMENT b %Inline;>   <!-- bold font -->
587
<!ATTLIST b %attrs;>
588
 
589
<!ELEMENT big %Inline;>   <!-- bigger font -->
590
<!ATTLIST big %attrs;>
591
 
592
<!ELEMENT small %Inline;>   <!-- smaller font -->
593
<!ATTLIST small %attrs;>
594
 
595
<!--==================== Object ======================================-->
596
<!--
597
  object is used to embed objects as part of HTML pages.
598
  param elements should precede other content. Parameters
599
  can also be expressed as attribute/value pairs on the
600
  object element itself when brevity is desired.
601
-->
602
 
603
<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
604
<!ATTLIST object
605
  %attrs;
606
  declare     (declare)      #IMPLIED
607
  classid     %URI;          #IMPLIED
608
  codebase    %URI;          #IMPLIED
609
  data        %URI;          #IMPLIED
610
  type        %ContentType;  #IMPLIED
611
  codetype    %ContentType;  #IMPLIED
612
  archive     %UriList;      #IMPLIED
613
  standby     %Text;         #IMPLIED
614
  height      %Length;       #IMPLIED
615
  width       %Length;       #IMPLIED
616
  usemap      %URI;          #IMPLIED
617
  name        NMTOKEN        #IMPLIED
618
  tabindex    %Number;       #IMPLIED
619
  >
620
 
621
<!--
622
  param is used to supply a named property value.
623
  In XML it would seem natural to follow RDF and support an
624
  abbreviated syntax where the param elements are replaced
625
  by attribute value pairs on the object start tag.
626
-->
627
<!ELEMENT param EMPTY>
628
<!ATTLIST param
629
  id          ID             #IMPLIED
630
  name        CDATA          #IMPLIED
631
  value       CDATA          #IMPLIED
632
  valuetype   (data|ref|object) "data"
633
  type        %ContentType;  #IMPLIED
634
  >
635
 
636
<!--=================== Images ===========================================-->
637
 
638
<!--
639
   To avoid accessibility problems for people who aren't
640
   able to see the image, you should provide a text
641
   description using the alt and longdesc attributes.
642
   In addition, avoid the use of server-side image maps.
643
   Note that in this DTD there is no name attribute. That
644
   is only available in the transitional and frameset DTD.
645
-->
646
 
647
<!ELEMENT img EMPTY>
648
<!ATTLIST img
649
  %attrs;
650
  src         %URI;          #REQUIRED
651
  alt         %Text;         #REQUIRED
652
  longdesc    %URI;          #IMPLIED
653
  height      %Length;       #IMPLIED
654
  width       %Length;       #IMPLIED
655
  usemap      %URI;          #IMPLIED
656
  ismap       (ismap)        #IMPLIED
657
  >
658
 
659
<!-- usemap points to a map element which may be in this document
660
  or an external document, although the latter is not widely supported -->
661
 
662
<!--================== Client-side image maps ============================-->
663
 
664
<!-- These can be placed in the same document or grouped in a
665
     separate document although this isn't yet widely supported -->
666
 
667
<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
668
<!ATTLIST map
669
  %i18n;
670
  %events;
671
  id          ID             #REQUIRED
672
  class       CDATA          #IMPLIED
673
  style       %StyleSheet;   #IMPLIED
674
  title       %Text;         #IMPLIED
675
  name        NMTOKEN        #IMPLIED
676
  >
677
 
678
<!ELEMENT area EMPTY>
679
<!ATTLIST area
680
  %attrs;
681
  %focus;
682
  shape       %Shape;        "rect"
683
  coords      %Coords;       #IMPLIED
684
  href        %URI;          #IMPLIED
685
  nohref      (nohref)       #IMPLIED
686
  alt         %Text;         #REQUIRED
687
  >
688
 
689
<!--================ Forms ===============================================-->
690
<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
691
 
692
<!ATTLIST form
693
  %attrs;
694
  action      %URI;          #REQUIRED
695
  method      (get|post)     "get"
696
  enctype     %ContentType;  "application/x-www-form-urlencoded"
697
  onsubmit    %Script;       #IMPLIED
698
  onreset     %Script;       #IMPLIED
699
  accept      %ContentTypes; #IMPLIED
700
  accept-charset %Charsets;  #IMPLIED
701
  >
702
 
703
<!--
704
  Each label must not contain more than ONE field
705
  Label elements shouldn't be nested.
706
-->
707
<!ELEMENT label %Inline;>
708
<!ATTLIST label
709
  %attrs;
710
  for         IDREF          #IMPLIED
711
  accesskey   %Character;    #IMPLIED
712
  onfocus     %Script;       #IMPLIED
713
  onblur      %Script;       #IMPLIED
714
  >
715
 
716
<!ENTITY % InputType
717
  "(text | password | checkbox |
718
    radio | submit | reset |
719
    file | hidden | image | button)"
720
   >
721
 
722
<!-- the name attribute is required for all but submit & reset -->
723
 
724
<!ELEMENT input EMPTY>     <!-- form control -->
725
<!ATTLIST input
726
  %attrs;
727
  %focus;
728
  type        %InputType;    "text"
729
  name        CDATA          #IMPLIED
730
  value       CDATA          #IMPLIED
731
  checked     (checked)      #IMPLIED
732
  disabled    (disabled)     #IMPLIED
733
  readonly    (readonly)     #IMPLIED
734
  size        CDATA          #IMPLIED
735
  maxlength   %Number;       #IMPLIED
736
  src         %URI;          #IMPLIED
737
  alt         CDATA          #IMPLIED
738
  usemap      %URI;          #IMPLIED
739
  onselect    %Script;       #IMPLIED
740
  onchange    %Script;       #IMPLIED
741
  accept      %ContentTypes; #IMPLIED
742
  >
743
 
744
<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
745
<!ATTLIST select
746
  %attrs;
747
  name        CDATA          #IMPLIED
748
  size        %Number;       #IMPLIED
749
  multiple    (multiple)     #IMPLIED
750
  disabled    (disabled)     #IMPLIED
751
  tabindex    %Number;       #IMPLIED
752
  onfocus     %Script;       #IMPLIED
753
  onblur      %Script;       #IMPLIED
754
  onchange    %Script;       #IMPLIED
755
  >
756
 
757
<!ELEMENT optgroup (option)+>   <!-- option group -->
758
<!ATTLIST optgroup
759
  %attrs;
760
  disabled    (disabled)     #IMPLIED
761
  label       %Text;         #REQUIRED
762
  >
763
 
764
<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
765
<!ATTLIST option
766
  %attrs;
767
  selected    (selected)     #IMPLIED
768
  disabled    (disabled)     #IMPLIED
769
  label       %Text;         #IMPLIED
770
  value       CDATA          #IMPLIED
771
  >
772
 
773
<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
774
<!ATTLIST textarea
775
  %attrs;
776
  %focus;
777
  name        CDATA          #IMPLIED
778
  rows        %Number;       #REQUIRED
779
  cols        %Number;       #REQUIRED
780
  disabled    (disabled)     #IMPLIED
781
  readonly    (readonly)     #IMPLIED
782
  onselect    %Script;       #IMPLIED
783
  onchange    %Script;       #IMPLIED
784
  >
785
 
786
<!--
787
  The fieldset element is used to group form fields.
788
  Only one legend element should occur in the content
789
  and if present should only be preceded by whitespace.
790
-->
791
<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
792
<!ATTLIST fieldset
793
  %attrs;
794
  >
795
 
796
<!ELEMENT legend %Inline;>     <!-- fieldset label -->
797
<!ATTLIST legend
798
  %attrs;
799
  accesskey   %Character;    #IMPLIED
800
  >
801
 
802
<!--
803
 Content is %Flow; excluding a, form and form controls
804
-->
805
<!ELEMENT button %button.content;>  <!-- push button -->
806
<!ATTLIST button
807
  %attrs;
808
  %focus;
809
  name        CDATA          #IMPLIED
810
  value       CDATA          #IMPLIED
811
  type        (button|submit|reset) "submit"
812
  disabled    (disabled)     #IMPLIED
813
  >
814
 
815
<!--======================= Tables =======================================-->
816
 
817
<!-- Derived from IETF HTML table standard, see [RFC1942] -->
818
 
819
<!--
820
 The border attribute sets the thickness of the frame around the
821
 table. The default units are screen pixels.
822
 
823
 The frame attribute specifies which parts of the frame around
824
 the table should be rendered. The values are not the same as
825
 CALS to avoid a name clash with the valign attribute.
826
-->
827
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
828
 
829
<!--
830
 The rules attribute defines which rules to draw between cells:
831
 
832
 If rules is absent then assume:
833
     "none" if border is absent or border="0" otherwise "all"
834
-->
835
 
836
<!ENTITY % TRules "(none | groups | rows | cols | all)">
837
 
838
<!-- horizontal alignment attributes for cell contents
839
 
840
  char        alignment char, e.g. char=':'
841
  charoff     offset for alignment char
842
-->
843
<!ENTITY % cellhalign
844
  "align      (left|center|right|justify|char) #IMPLIED
845
   char       %Character;    #IMPLIED
846
   charoff    %Length;       #IMPLIED"
847
  >
848
 
849
<!-- vertical alignment attributes for cell contents -->
850
<!ENTITY % cellvalign
851
  "valign     (top|middle|bottom|baseline) #IMPLIED"
852
  >
853
 
854
<!ELEMENT table
855
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
856
<!ELEMENT caption  %Inline;>
857
<!ELEMENT thead    (tr)+>
858
<!ELEMENT tfoot    (tr)+>
859
<!ELEMENT tbody    (tr)+>
860
<!ELEMENT colgroup (col)*>
861
<!ELEMENT col      EMPTY>
862
<!ELEMENT tr       (th|td)+>
863
<!ELEMENT th       %Flow;>
864
<!ELEMENT td       %Flow;>
865
 
866
<!ATTLIST table
867
  %attrs;
868
  summary     %Text;         #IMPLIED
869
  width       %Length;       #IMPLIED
870
  border      %Pixels;       #IMPLIED
871
  frame       %TFrame;       #IMPLIED
872
  rules       %TRules;       #IMPLIED
873
  cellspacing %Length;       #IMPLIED
874
  cellpadding %Length;       #IMPLIED
875
  >
876
 
877
<!ATTLIST caption
878
  %attrs;
879
  >
880
 
881
<!--
882
colgroup groups a set of col elements. It allows you to group
883
several semantically related columns together.
884
-->
885
<!ATTLIST colgroup
886
  %attrs;
887
  span        %Number;       "1"
888
  width       %MultiLength;  #IMPLIED
889
  %cellhalign;
890
  %cellvalign;
891
  >
892
 
893
<!--
894
 col elements define the alignment properties for cells in
895
 one or more columns.
896
 
897
 The width attribute specifies the width of the columns, e.g.
898
 
899
     width=64        width in screen pixels
900
     width=0.5*      relative width of 0.5
901
 
902
 The span attribute causes the attributes of one
903
 col element to apply to more than one column.
904
-->
905
<!ATTLIST col
906
  %attrs;
907
  span        %Number;       "1"
908
  width       %MultiLength;  #IMPLIED
909
  %cellhalign;
910
  %cellvalign;
911
  >
912
 
913
<!--
914
    Use thead to duplicate headers when breaking table
915
    across page boundaries, or for static headers when
916
    tbody sections are rendered in scrolling panel.
917
 
918
    Use tfoot to duplicate footers when breaking table
919
    across page boundaries, or for static footers when
920
    tbody sections are rendered in scrolling panel.
921
 
922
    Use multiple tbody sections when rules are needed
923
    between groups of table rows.
924
-->
925
<!ATTLIST thead
926
  %attrs;
927
  %cellhalign;
928
  %cellvalign;
929
  >
930
 
931
<!ATTLIST tfoot
932
  %attrs;
933
  %cellhalign;
934
  %cellvalign;
935
  >
936
 
937
<!ATTLIST tbody
938
  %attrs;
939
  %cellhalign;
940
  %cellvalign;
941
  >
942
 
943
<!ATTLIST tr
944
  %attrs;
945
  %cellhalign;
946
  %cellvalign;
947
  >
948
 
949
 
950
<!-- Scope is simpler than headers attribute for common tables -->
951
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
952
 
953
<!-- th is for headers, td for data and for cells acting as both -->
954
 
955
<!ATTLIST th
956
  %attrs;
957
  abbr        %Text;         #IMPLIED
958
  axis        CDATA          #IMPLIED
959
  headers     IDREFS         #IMPLIED
960
  scope       %Scope;        #IMPLIED
961
  rowspan     %Number;       "1"
962
  colspan     %Number;       "1"
963
  %cellhalign;
964
  %cellvalign;
965
  >
966
 
967
<!ATTLIST td
968
  %attrs;
969
  abbr        %Text;         #IMPLIED
970
  axis        CDATA          #IMPLIED
971
  headers     IDREFS         #IMPLIED
972
  scope       %Scope;        #IMPLIED
973
  rowspan     %Number;       "1"
974
  colspan     %Number;       "1"
975
  %cellhalign;
976
  %cellvalign;
977
  >
978