~ubuntu-branches/ubuntu/hardy/sgml-data/hardy

« back to all changes in this revision

Viewing changes to sgml/html/dtd/4.0/strict.dtd

  • Committer: Bazaar Package Importer
  • Author(s): Adam Di Carlo
  • Date: 2005-04-21 11:48:10 UTC
  • Revision ID: james.westby@ubuntu.com-20050421114810-u7e0kdky1f12hzpj
Tags: 2.0.3
* remove symlinks build dependency from debian/control and rules;
  set urgency because this is a serious violation; closes: #301788
* update HTML ISO 15445; closes: #248675

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!--
 
2
    This is HTML 4.0 Strict DTD, which excludes the presentation 
 
3
    attributes and elements that W3C expects to phase out as 
 
4
    support for style sheets matures. Authors should use the Strict
 
5
    DTD when possible, but may use the Transitional DTD when support
 
6
    for presentation attribute and elements is required.
 
7
    
 
8
    HTML 4.0 includes mechanisms for style sheets, scripting,
 
9
    embedding objects, improved support for right to left and mixed
 
10
    direction text, and enhancements to forms for improved
 
11
    accessibility for people with disabilities.
 
12
 
 
13
          Draft: $Date: 2001/03/11 06:00:56 $
 
14
 
 
15
          Authors:
 
16
              Dave Raggett <dsr@w3.org>
 
17
              Arnaud Le Hors <lehors@w3.org>
 
18
              Ian Jacobs <ij@w3.org>
 
19
 
 
20
    Further information about HTML 4.0 is available at:
 
21
 
 
22
        http://www.w3.org/TR/REC-html40
 
23
-->
 
24
<!--
 
25
    Typical usage:
 
26
 
 
27
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
 
28
            "http://www.w3.org/TR/REC-html40/strict.dtd">
 
29
    <html>
 
30
    <head>
 
31
    ...
 
32
    </head>
 
33
    <body>
 
34
    ...
 
35
    </body>
 
36
    </html>
 
37
 
 
38
    The URI used as a system identifier with the public identifier allows
 
39
    the user agent to download the DTD and entity sets as needed.
 
40
 
 
41
    The FPI for the Transitional HTML 4.0 DTD is:
 
42
 
 
43
        "-//W3C//DTD HTML 4.0 Transitional//EN"
 
44
 
 
45
    and its URI is:
 
46
 
 
47
        http://www.w3.org/TR/REC-html40/loose.dtd
 
48
 
 
49
    If you are writing a document that includes frames, use 
 
50
    the following FPI:
 
51
 
 
52
        "-//W3C//DTD HTML 4.0 Frameset//EN"
 
53
 
 
54
    with the URI:
 
55
 
 
56
        http://www.w3.org/TR/REC-html40/frameset.dtd
 
57
 
 
58
    The following URIs are supported in relation to HTML 4.0
 
59
 
 
60
    "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
 
61
    "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
 
62
    "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
 
63
    "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
 
64
    "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
 
65
    "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
 
66
 
 
67
    These URIs point to the latest version of each file. To reference
 
68
    this specific revision use the following URIs:
 
69
 
 
70
    "http://www.w3.org/TR/1998/REC-html40-19980424/strict.dtd"
 
71
    "http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd"
 
72
    "http://www.w3.org/TR/1998/REC-html40-19980424/frameset.dtd"
 
73
    "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"
 
74
    "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"
 
75
    "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"
 
76
 
 
77
-->
 
78
 
 
79
<!--================== Imported Names ====================================-->
 
80
 
 
81
<!ENTITY % ContentType "CDATA"
 
82
    -- media type, as per [RFC2045]
 
83
    -->
 
84
 
 
85
<!ENTITY % ContentTypes "CDATA"
 
86
    -- comma-separated list of media types, as per [RFC2045]
 
87
    -->
 
88
 
 
89
<!ENTITY % Charset "CDATA"
 
90
    -- a character encoding, as per [RFC2045]
 
91
    -->
 
92
 
 
93
<!ENTITY % Charsets "CDATA"
 
94
    -- a space separated list of character encodings, as per [RFC2045]
 
95
    -->
 
96
 
 
97
<!ENTITY % LanguageCode "NAME"
 
98
    -- a language code, as per [RFC1766]
 
99
    -->
 
100
 
 
101
<!ENTITY % Character "CDATA"
 
102
    -- a single character from [ISO10646] 
 
103
    -->
 
104
 
 
105
<!ENTITY % LinkTypes "CDATA"
 
106
    -- space-separated list of link types
 
107
    -->
 
108
 
 
109
<!ENTITY % MediaDesc "CDATA"
 
110
    -- single or comma-separated list of media descriptors
 
111
    -->
 
112
 
 
113
<!ENTITY % URI "CDATA"
 
114
    -- a Uniform Resource Identifier,
 
115
       see [URI]
 
116
    -->
 
117
 
 
118
<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
 
119
 
 
120
 
 
121
<!ENTITY % Script "CDATA" -- script expression -->
 
122
 
 
123
<!ENTITY % StyleSheet "CDATA" -- style sheet data -->
 
124
 
 
125
 
 
126
 
 
127
<!ENTITY % Text "CDATA">
 
128
 
 
129
 
 
130
<!-- Parameter Entities -->
 
131
 
 
132
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
 
133
 
 
134
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
 
135
 
 
136
<!ENTITY % list "UL | OL">
 
137
 
 
138
<!ENTITY % preformatted "PRE">
 
139
 
 
140
 
 
141
<!--================ Character mnemonic entities =========================-->
 
142
 
 
143
<!ENTITY % HTMLlat1 PUBLIC
 
144
   "-//W3C//ENTITIES Latin1//EN//HTML"
 
145
   -- comment out URI so we can use local copy instead
 
146
   "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"-->
 
147
%HTMLlat1;
 
148
 
 
149
<!ENTITY % HTMLsymbol PUBLIC
 
150
   "-//W3C//ENTITIES Symbols//EN//HTML"
 
151
   -- comment out URI so we can use local copy instead
 
152
   "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"-->
 
153
%HTMLsymbol;
 
154
 
 
155
<!ENTITY % HTMLspecial PUBLIC
 
156
   "-//W3C//ENTITIES Special//EN//HTML"
 
157
   -- comment out URI so we can use local copy instead
 
158
   "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"-->
 
159
%HTMLspecial;
 
160
<!--=================== Generic Attributes ===============================-->
 
161
 
 
162
<!ENTITY % coreattrs
 
163
 "id          ID             #IMPLIED  -- document-wide unique id --
 
164
  class       CDATA          #IMPLIED  -- space separated list of classes --
 
165
  style       %StyleSheet;   #IMPLIED  -- associated style info --
 
166
  title       %Text;         #IMPLIED  -- advisory title/amplification --"
 
167
  >
 
168
 
 
169
<!ENTITY % i18n
 
170
 "lang        %LanguageCode; #IMPLIED  -- language code --
 
171
  dir         (ltr|rtl)      #IMPLIED  -- direction for weak/neutral text --"
 
172
  >
 
173
 
 
174
<!ENTITY % events
 
175
 "onclick     %Script;       #IMPLIED  -- a pointer button was clicked --
 
176
  ondblclick  %Script;       #IMPLIED  -- a pointer button was double clicked--
 
177
  onmousedown %Script;       #IMPLIED  -- a pointer button was pressed down --
 
178
  onmouseup   %Script;       #IMPLIED  -- a pointer button was released --
 
179
  onmouseover %Script;       #IMPLIED  -- a pointer was moved onto --
 
180
  onmousemove %Script;       #IMPLIED  -- a pointer was moved within --
 
181
  onmouseout  %Script;       #IMPLIED  -- a pointer was moved away --
 
182
  onkeypress  %Script;       #IMPLIED  -- a key was pressed and released --
 
183
  onkeydown   %Script;       #IMPLIED  -- a key was pressed down --
 
184
  onkeyup     %Script;       #IMPLIED  -- a key was released --"
 
185
  >
 
186
 
 
187
<!-- Reserved Feature Switch -->
 
188
<!ENTITY % HTML.Reserved "IGNORE">
 
189
 
 
190
<!-- The following attributes are reserved for possible future use -->
 
191
<![ %HTML.Reserved; [
 
192
<!ENTITY % reserved
 
193
 "datasrc     %URI;          #IMPLIED  -- a single or tabular Data Source --
 
194
  datafld     CDATA          #IMPLIED  -- the property or column name --
 
195
  dataformatas (plaintext|html) plaintext -- text or html --"
 
196
  >
 
197
]]>
 
198
 
 
199
<!ENTITY % reserved "">
 
200
 
 
201
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
 
202
 
 
203
 
 
204
<!--=================== Text Markup ======================================-->
 
205
 
 
206
<!ENTITY % fontstyle
 
207
 "TT | I | B | BIG | SMALL">
 
208
 
 
209
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
 
210
                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
 
211
 
 
212
<!ENTITY % special
 
213
   "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
 
214
 
 
215
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
 
216
 
 
217
<!-- %inline; covers inline or "text-level" elements -->
 
218
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
 
219
 
 
220
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
 
221
<!ATTLIST (%fontstyle;|%phrase;)
 
222
  %attrs;                              -- %coreattrs, %i18n, %events --
 
223
  >
 
224
 
 
225
<!ELEMENT (SUB|SUP) - - (%inline;)*    -- subscript, superscript -->
 
226
<!ATTLIST (SUB|SUP)
 
227
  %attrs;                              -- %coreattrs, %i18n, %events --
 
228
  >
 
229
 
 
230
<!ELEMENT SPAN - - (%inline;)*         -- generic language/style container -->
 
231
<!ATTLIST SPAN
 
232
  %attrs;                              -- %coreattrs, %i18n, %events --
 
233
  %reserved;                           -- reserved for possible future use --
 
234
  >
 
235
 
 
236
<!ELEMENT BDO - - (%inline;)*          -- I18N BiDi over-ride -->
 
237
<!ATTLIST BDO
 
238
  %coreattrs;                          -- id, class, style, title --
 
239
  lang        %LanguageCode; #IMPLIED  -- language code --
 
240
  dir         (ltr|rtl)      #REQUIRED -- directionality --
 
241
  >
 
242
 
 
243
 
 
244
<!ELEMENT BR - O EMPTY                 -- forced line break -->
 
245
<!ATTLIST BR
 
246
  %coreattrs;                          -- id, class, style, title --
 
247
  >
 
248
 
 
249
<!--================== HTML content models ===============================-->
 
250
 
 
251
<!--
 
252
    HTML has two basic content models:
 
253
 
 
254
        %inline;     character level elements and text strings
 
255
        %block;      block-like elements e.g. paragraphs and lists
 
256
-->
 
257
 
 
258
<!ENTITY % block
 
259
     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
 
260
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
 
261
 
 
262
<!ENTITY % flow "%block; | %inline;">
 
263
 
 
264
<!--=================== Document Body ====================================-->
 
265
 
 
266
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
 
267
<!ATTLIST BODY
 
268
  %attrs;                              -- %coreattrs, %i18n, %events --
 
269
  onload          %Script;   #IMPLIED  -- the document has been loaded --
 
270
  onunload        %Script;   #IMPLIED  -- the document has been removed --
 
271
  >
 
272
 
 
273
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
 
274
<!ATTLIST ADDRESS
 
275
  %attrs;                              -- %coreattrs, %i18n, %events --
 
276
  >
 
277
 
 
278
<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->
 
279
<!ATTLIST DIV
 
280
  %attrs;                              -- %coreattrs, %i18n, %events --
 
281
  %reserved;                           -- reserved for possible future use --
 
282
  >
 
283
 
 
284
 
 
285
<!--================== The Anchor Element ================================-->
 
286
 
 
287
<!ENTITY % Shape "(rect|circle|poly|default)">
 
288
<!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
 
289
 
 
290
<!ELEMENT A - - (%inline;)* -(A)       -- anchor -->
 
291
<!ATTLIST A
 
292
  %attrs;                              -- %coreattrs, %i18n, %events --
 
293
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
 
294
  type        %ContentType;  #IMPLIED  -- advisory content type --
 
295
  name        CDATA          #IMPLIED  -- named link end --
 
296
  href        %URI;          #IMPLIED  -- URI for linked resource --
 
297
  hreflang    %LanguageCode; #IMPLIED  -- language code --
 
298
  rel         %LinkTypes;    #IMPLIED  -- forward link types --
 
299
  rev         %LinkTypes;    #IMPLIED  -- reverse link types --
 
300
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
301
  shape       %Shape;        rect      -- for use with client-side image maps --
 
302
  coords      %Coords;       #IMPLIED  -- for use with client-side image maps --
 
303
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
304
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
305
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
306
  >
 
307
 
 
308
<!--================== Client-side image maps ============================-->
 
309
 
 
310
<!-- These can be placed in the same document or grouped in a
 
311
     separate document although this isn't yet widely supported -->
 
312
 
 
313
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
 
314
<!ATTLIST MAP
 
315
  %attrs;                              -- %coreattrs, %i18n, %events --
 
316
  name        CDATA          #REQUIRED -- for reference by usemap --
 
317
  >
 
318
 
 
319
<!ELEMENT AREA - O EMPTY               -- client-side image map area -->
 
320
<!ATTLIST AREA
 
321
  %attrs;                              -- %coreattrs, %i18n, %events --
 
322
  shape       %Shape;        rect      -- controls interpretation of coords --
 
323
  coords      %Coords;       #IMPLIED  -- comma separated list of lengths --
 
324
  href        %URI;          #IMPLIED  -- URI for linked resource --
 
325
  nohref      (nohref)       #IMPLIED  -- this region has no action --
 
326
  alt         %Text;         #REQUIRED -- short description --
 
327
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
328
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
329
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
330
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
331
  >
 
332
 
 
333
<!--================== The LINK Element ==================================-->
 
334
 
 
335
<!--
 
336
  Relationship values can be used in principle:
 
337
 
 
338
   a) for document specific toolbars/menus when used
 
339
      with the LINK element in document head e.g.
 
340
        start, contents, previous, next, index, end, help
 
341
   b) to link to a separate style sheet (rel=stylesheet)
 
342
   c) to make a link to a script (rel=script)
 
343
   d) by stylesheets to control how collections of
 
344
      html nodes are rendered into printed documents
 
345
   e) to make a link to a printable version of this document
 
346
      e.g. a postscript or pdf version (rel=alternate media=print)
 
347
-->
 
348
 
 
349
<!ELEMENT LINK - O EMPTY               -- a media-independent link -->
 
350
<!ATTLIST LINK
 
351
  %attrs;                              -- %coreattrs, %i18n, %events --
 
352
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
 
353
  href        %URI;          #IMPLIED  -- URI for linked resource --
 
354
  hreflang    %LanguageCode; #IMPLIED  -- language code --
 
355
  type        %ContentType;  #IMPLIED  -- advisory content type --
 
356
  rel         %LinkTypes;    #IMPLIED  -- forward link types --
 
357
  rev         %LinkTypes;    #IMPLIED  -- reverse link types --
 
358
  media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
 
359
  >
 
360
 
 
361
<!--=================== Images ===========================================-->
 
362
 
 
363
<!-- Length defined in strict DTD for cellpadding/cellspacing -->
 
364
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
 
365
<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
 
366
 
 
367
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
 
368
 
 
369
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
 
370
 
 
371
 
 
372
<!-- To avoid problems with text-only UAs as well as 
 
373
   to make image content understandable and navigable 
 
374
   to users of non-visual UAs, you need to provide
 
375
   a description with ALT, and avoid server-side image maps -->
 
376
<!ELEMENT IMG - O EMPTY                -- Embedded image -->
 
377
<!ATTLIST IMG
 
378
  %attrs;                              -- %coreattrs, %i18n, %events --
 
379
  src         %URI;          #REQUIRED -- URI of image to embed --
 
380
  alt         %Text;         #REQUIRED -- short description --
 
381
  longdesc    %URI;          #IMPLIED  -- link to long description
 
382
                                          (complements alt) --
 
383
  height      %Length;       #IMPLIED  -- override height --
 
384
  width       %Length;       #IMPLIED  -- override width --
 
385
  usemap      %URI;          #IMPLIED  -- use client-side image map --
 
386
  ismap       (ismap)        #IMPLIED  -- use server-side image map --
 
387
  >
 
388
 
 
389
<!-- USEMAP points to a MAP element which may be in this document
 
390
  or an external document, although the latter is not widely supported -->
 
391
 
 
392
<!--==================== OBJECT ======================================-->
 
393
<!--
 
394
  OBJECT is used to embed objects as part of HTML pages 
 
395
  PARAM elements should precede other content. SGML mixed content
 
396
  model technicality precludes specifying this formally ...
 
397
-->
 
398
 
 
399
<!ELEMENT OBJECT - - (PARAM | %flow;)*
 
400
 -- generic embedded object -->
 
401
<!ATTLIST OBJECT
 
402
  %attrs;                              -- %coreattrs, %i18n, %events --
 
403
  declare     (declare)      #IMPLIED  -- declare but don't instantiate flag --
 
404
  classid     %URI;          #IMPLIED  -- identifies an implementation --
 
405
  codebase    %URI;          #IMPLIED  -- base URI for classid, data, archive--
 
406
  data        %URI;          #IMPLIED  -- reference to object's data --
 
407
  type        %ContentType;  #IMPLIED  -- content type for data --
 
408
  codetype    %ContentType;  #IMPLIED  -- content type for code --
 
409
  archive     %URI;          #IMPLIED  -- space separated archive list --
 
410
  standby     %Text;         #IMPLIED  -- message to show while loading --
 
411
  height      %Length;       #IMPLIED  -- override height --
 
412
  width       %Length;       #IMPLIED  -- override width --
 
413
  usemap      %URI;          #IMPLIED  -- use client-side image map --
 
414
  name        CDATA          #IMPLIED  -- submit as part of form --
 
415
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
416
  %reserved;                           -- reserved for possible future use --
 
417
  >
 
418
 
 
419
<!ELEMENT PARAM - O EMPTY              -- named property value -->
 
420
<!ATTLIST PARAM
 
421
  id          ID             #IMPLIED  -- document-wide unique id --
 
422
  name        CDATA          #REQUIRED -- property name --
 
423
  value       CDATA          #IMPLIED  -- property value --
 
424
  valuetype   (DATA|REF|OBJECT) DATA   -- How to interpret value --
 
425
  type        %ContentType;  #IMPLIED  -- content type for value
 
426
                                          when valuetype=ref --
 
427
  >
 
428
 
 
429
 
 
430
<!--=================== Horizontal Rule ==================================-->
 
431
 
 
432
<!ELEMENT HR - O EMPTY -- horizontal rule -->
 
433
<!ATTLIST HR
 
434
  %coreattrs;                          -- id, class, style, title --
 
435
  %events;
 
436
  >
 
437
 
 
438
<!--=================== Paragraphs =======================================-->
 
439
 
 
440
<!ELEMENT P - O (%inline;)*            -- paragraph -->
 
441
<!ATTLIST P
 
442
  %attrs;                              -- %coreattrs, %i18n, %events --
 
443
  >
 
444
 
 
445
<!--=================== Headings =========================================-->
 
446
 
 
447
<!--
 
448
  There are six levels of headings from H1 (the most important)
 
449
  to H6 (the least important).
 
450
-->
 
451
 
 
452
<!ELEMENT (%heading;)  - - (%inline;)* -- heading -->
 
453
<!ATTLIST (%heading;)
 
454
  %attrs;                              -- %coreattrs, %i18n, %events --
 
455
  >
 
456
 
 
457
<!--=================== Preformatted Text ================================-->
 
458
 
 
459
<!-- excludes markup for images and changes in font size -->
 
460
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
 
461
 
 
462
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
 
463
<!ATTLIST PRE
 
464
  %attrs;                              -- %coreattrs, %i18n, %events --
 
465
  >
 
466
 
 
467
<!--===================== Inline Quotes ==================================-->
 
468
 
 
469
<!ELEMENT Q - - (%inline;)*            -- short inline quotation -->
 
470
<!ATTLIST Q
 
471
  %attrs;                              -- %coreattrs, %i18n, %events --
 
472
  cite        %URI;          #IMPLIED  -- URI for source document or msg --
 
473
  >
 
474
 
 
475
<!--=================== Block-like Quotes ================================-->
 
476
 
 
477
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
 
478
<!ATTLIST BLOCKQUOTE
 
479
  %attrs;                              -- %coreattrs, %i18n, %events --
 
480
  cite        %URI;          #IMPLIED  -- URI for source document or msg --
 
481
  >
 
482
 
 
483
<!--=================== Inserted/Deleted Text ============================-->
 
484
 
 
485
 
 
486
<!-- INS/DEL are handled by inclusion on BODY -->
 
487
<!ELEMENT (INS|DEL) - - (%flow;)*      -- inserted text, deleted text -->
 
488
<!ATTLIST (INS|DEL)
 
489
  %attrs;                              -- %coreattrs, %i18n, %events --
 
490
  cite        %URI;          #IMPLIED  -- info on reason for change --
 
491
  datetime    %Datetime;     #IMPLIED  -- date and time of change --
 
492
  >
 
493
 
 
494
<!--=================== Lists ============================================-->
 
495
 
 
496
<!-- definition lists - DT for term, DD for its definition -->
 
497
 
 
498
<!ELEMENT DL - - (DT|DD)+              -- definition list -->
 
499
<!ATTLIST DL
 
500
  %attrs;                              -- %coreattrs, %i18n, %events --
 
501
  >
 
502
 
 
503
<!ELEMENT DT - O (%inline;)*           -- definition term -->
 
504
<!ELEMENT DD - O (%flow;)*             -- definition description -->
 
505
<!ATTLIST (DT|DD)
 
506
  %attrs;                              -- %coreattrs, %i18n, %events --
 
507
  >
 
508
 
 
509
 
 
510
<!ELEMENT OL - - (LI)+                 -- ordered list -->
 
511
<!ATTLIST OL
 
512
  %attrs;                              -- %coreattrs, %i18n, %events --
 
513
  >
 
514
 
 
515
<!-- Unordered Lists (UL) bullet styles -->
 
516
<!ELEMENT UL - - (LI)+                 -- unordered list -->
 
517
<!ATTLIST UL
 
518
  %attrs;                              -- %coreattrs, %i18n, %events --
 
519
  >
 
520
 
 
521
 
 
522
 
 
523
<!ELEMENT LI - O (%flow;)*             -- list item -->
 
524
<!ATTLIST LI
 
525
  %attrs;                              -- %coreattrs, %i18n, %events --
 
526
  >
 
527
 
 
528
<!--================ Forms ===============================================-->
 
529
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
 
530
<!ATTLIST FORM
 
531
  %attrs;                              -- %coreattrs, %i18n, %events --
 
532
  action      %URI;          #REQUIRED -- server-side form handler --
 
533
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
 
534
  enctype     %ContentType;  "application/x-www-form-urlencoded"
 
535
  onsubmit    %Script;       #IMPLIED  -- the form was submitted --
 
536
  onreset     %Script;       #IMPLIED  -- the form was reset --
 
537
  accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
 
538
  >
 
539
 
 
540
<!-- Each label must not contain more than ONE field -->
 
541
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
 
542
<!ATTLIST LABEL
 
543
  %attrs;                              -- %coreattrs, %i18n, %events --
 
544
  for         IDREF          #IMPLIED  -- matches field ID value --
 
545
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
546
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
547
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
548
  >
 
549
 
 
550
<!ENTITY % InputType
 
551
  "(TEXT | PASSWORD | CHECKBOX |
 
552
    RADIO | SUBMIT | RESET |
 
553
    FILE | HIDDEN | IMAGE | BUTTON)"
 
554
   >
 
555
 
 
556
<!-- attribute name required for all but submit & reset -->
 
557
<!ELEMENT INPUT - O EMPTY              -- form control -->
 
558
<!ATTLIST INPUT
 
559
  %attrs;                              -- %coreattrs, %i18n, %events --
 
560
  type        %InputType;    TEXT      -- what kind of widget is needed --
 
561
  name        CDATA          #IMPLIED  -- submit as part of form --
 
562
  value       CDATA          #IMPLIED  -- required for radio and checkboxes --
 
563
  checked     (checked)      #IMPLIED  -- for radio buttons and check boxes --
 
564
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
565
  readonly    (readonly)     #IMPLIED  -- for text and passwd --
 
566
  size        CDATA          #IMPLIED  -- specific to each type of field --
 
567
  maxlength   NUMBER         #IMPLIED  -- max chars for text fields --
 
568
  src         %URI;          #IMPLIED  -- for fields with images --
 
569
  alt         CDATA          #IMPLIED  -- short description --
 
570
  usemap      %URI;          #IMPLIED  -- use client-side image map --
 
571
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
572
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
573
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
574
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
575
  onselect    %Script;       #IMPLIED  -- some text was selected --
 
576
  onchange    %Script;       #IMPLIED  -- the element value was changed --
 
577
  accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
 
578
  %reserved;                           -- reserved for possible future use --
 
579
  >
 
580
 
 
581
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
 
582
<!ATTLIST SELECT
 
583
  %attrs;                              -- %coreattrs, %i18n, %events --
 
584
  name        CDATA          #IMPLIED  -- field name --
 
585
  size        NUMBER         #IMPLIED  -- rows visible --
 
586
  multiple    (multiple)     #IMPLIED  -- default is single selection --
 
587
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
588
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
589
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
590
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
591
  onchange    %Script;       #IMPLIED  -- the element value was changed --
 
592
  %reserved;                           -- reserved for possible future use --
 
593
  >
 
594
 
 
595
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
 
596
<!ATTLIST OPTGROUP
 
597
  %attrs;                              -- %coreattrs, %i18n, %events --
 
598
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
599
  label       %Text;         #REQUIRED -- for use in hierarchical menus --
 
600
  >
 
601
 
 
602
<!ELEMENT OPTION - O (#PCDATA)         -- selectable choice -->
 
603
<!ATTLIST OPTION
 
604
  %attrs;                              -- %coreattrs, %i18n, %events --
 
605
  selected    (selected)     #IMPLIED
 
606
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
607
  label       %Text;         #IMPLIED  -- for use in hierarchical menus --
 
608
  value       CDATA          #IMPLIED  -- defaults to element content --
 
609
  >
 
610
 
 
611
<!ELEMENT TEXTAREA - - (#PCDATA)       -- multi-line text field -->
 
612
<!ATTLIST TEXTAREA
 
613
  %attrs;                              -- %coreattrs, %i18n, %events --
 
614
  name        CDATA          #IMPLIED
 
615
  rows        NUMBER         #REQUIRED
 
616
  cols        NUMBER         #REQUIRED
 
617
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
618
  readonly    (readonly)     #IMPLIED
 
619
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
620
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
621
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
622
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
623
  onselect    %Script;       #IMPLIED  -- some text was selected --
 
624
  onchange    %Script;       #IMPLIED  -- the element value was changed --
 
625
  %reserved;                           -- reserved for possible future use --
 
626
  >
 
627
 
 
628
<!--
 
629
  #PCDATA is to solve the mixed content problem,
 
630
  per specification only whitespace is allowed there!
 
631
 -->
 
632
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
 
633
<!ATTLIST FIELDSET
 
634
  %attrs;                              -- %coreattrs, %i18n, %events --
 
635
  >
 
636
 
 
637
<!ELEMENT LEGEND - - (%inline;)*       -- fieldset legend -->
 
638
<!ENTITY % LAlign "(top|bottom|left|right)">
 
639
 
 
640
<!ATTLIST LEGEND
 
641
  %attrs;                              -- %coreattrs, %i18n, %events --
 
642
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
643
  >
 
644
 
 
645
<!ELEMENT BUTTON - -
 
646
     (%flow;)* -(A|%formctrl;|FORM|FIELDSET)
 
647
     -- push button -->
 
648
<!ATTLIST BUTTON
 
649
  %attrs;                              -- %coreattrs, %i18n, %events --
 
650
  name        CDATA          #IMPLIED
 
651
  value       CDATA          #IMPLIED  -- sent to server when submitted --
 
652
  type        (button|submit|reset) submit -- for use as form button --
 
653
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
 
654
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
 
655
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
 
656
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
 
657
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
 
658
  %reserved;                           -- reserved for possible future use --
 
659
  >
 
660
 
 
661
<!--======================= Tables =======================================-->
 
662
 
 
663
<!-- IETF HTML table standard, see [RFC1942] -->
 
664
 
 
665
<!--
 
666
 The BORDER attribute sets the thickness of the frame around the
 
667
 table. The default units are screen pixels.
 
668
 
 
669
 The FRAME attribute specifies which parts of the frame around
 
670
 the table should be rendered. The values are not the same as
 
671
 CALS to avoid a name clash with the VALIGN attribute.
 
672
 
 
673
 The value "border" is included for backwards compatibility with
 
674
 <TABLE BORDER> which yields frame=border and border=implied
 
675
 For <TABLE BORDER=1> you get border=1 and frame=implied. In this
 
676
 case, it is appropriate to treat this as frame=border for backwards
 
677
 compatibility with deployed browsers.
 
678
-->
 
679
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
 
680
 
 
681
<!--
 
682
 The RULES attribute defines which rules to draw between cells:
 
683
 
 
684
 If RULES is absent then assume:
 
685
     "none" if BORDER is absent or BORDER=0 otherwise "all"
 
686
-->
 
687
 
 
688
<!ENTITY % TRules "(none | groups | rows | cols | all)">
 
689
  
 
690
<!-- horizontal placement of table relative to document -->
 
691
<!ENTITY % TAlign "(left|center|right)">
 
692
 
 
693
<!-- horizontal alignment attributes for cell contents -->
 
694
<!ENTITY % cellhalign
 
695
  "align      (left|center|right|justify|char) #IMPLIED
 
696
   char       %Character;    #IMPLIED  -- alignment char, e.g. char=':' --
 
697
   charoff    %Length;       #IMPLIED  -- offset for alignment char --"
 
698
  >
 
699
 
 
700
<!-- vertical alignment attributes for cell contents -->
 
701
<!ENTITY % cellvalign
 
702
  "valign     (top|middle|bottom|baseline) #IMPLIED"
 
703
  >
 
704
 
 
705
<!ELEMENT TABLE - -
 
706
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
 
707
<!ELEMENT CAPTION  - - (%inline;)*     -- table caption -->
 
708
<!ELEMENT THEAD    - O (TR)+           -- table header -->
 
709
<!ELEMENT TFOOT    - O (TR)+           -- table footer -->
 
710
<!ELEMENT TBODY    O O (TR)+           -- table body -->
 
711
<!ELEMENT COLGROUP - O (col)*          -- table column group -->
 
712
<!ELEMENT COL      - O EMPTY           -- table column -->
 
713
<!ELEMENT TR       - O (TH|TD)+        -- table row -->
 
714
<!ELEMENT (TH|TD)  - O (%flow;)*       -- table header cell, table data cell-->
 
715
 
 
716
<!ATTLIST TABLE                        -- table element --
 
717
  %attrs;                              -- %coreattrs, %i18n, %events --
 
718
  summary     %Text;         #IMPLIED  -- purpose/structure for speech output--
 
719
  width       %Length;       #IMPLIED  -- table width --
 
720
  border      %Pixels;       #IMPLIED  -- controls frame width around table --
 
721
  frame       %TFrame;       #IMPLIED  -- which parts of frame to render --
 
722
  rules       %TRules;       #IMPLIED  -- rulings between rows and cols --
 
723
  cellspacing %Length;       #IMPLIED  -- spacing between cells --
 
724
  cellpadding %Length;       #IMPLIED  -- spacing within cells --
 
725
  %reserved;                           -- reserved for possible future use --
 
726
  datapagesize CDATA         #IMPLIED  -- reserved for possible future use --
 
727
  >
 
728
 
 
729
<!ENTITY % CAlign "(top|bottom|left|right)">
 
730
 
 
731
<!ATTLIST CAPTION
 
732
  %attrs;                              -- %coreattrs, %i18n, %events --
 
733
  >
 
734
 
 
735
<!--
 
736
COLGROUP groups a set of COL elements. It allows you to group
 
737
several semantically related columns together.
 
738
-->
 
739
<!ATTLIST COLGROUP
 
740
  %attrs;                              -- %coreattrs, %i18n, %events --
 
741
  span        NUMBER         1         -- default number of columns in group --
 
742
  width       %MultiLength;  #IMPLIED  -- default width for enclosed COLs --
 
743
  %cellhalign;                         -- horizontal alignment in cells --
 
744
  %cellvalign;                         -- vertical alignment in cells --
 
745
  >
 
746
 
 
747
<!--
 
748
 COL elements define the alignment properties for cells in
 
749
 one or more columns.
 
750
 
 
751
 The WIDTH attribute specifies the width of the columns, e.g.
 
752
 
 
753
     width=64        width in screen pixels
 
754
     width=0.5*      relative width of 0.5
 
755
 
 
756
 The SPAN attribute causes the attributes of one
 
757
 COL element to apply to more than one column.
 
758
-->
 
759
<!ATTLIST COL                          -- column groups and properties --
 
760
  %attrs;                              -- %coreattrs, %i18n, %events --
 
761
  span        NUMBER         1         -- COL attributes affect N columns --
 
762
  width       %MultiLength;  #IMPLIED  -- column width specification --
 
763
  %cellhalign;                         -- horizontal alignment in cells --
 
764
  %cellvalign;                         -- vertical alignment in cells --
 
765
  >
 
766
 
 
767
<!--
 
768
    Use THEAD to duplicate headers when breaking table
 
769
    across page boundaries, or for static headers when
 
770
    TBODY sections are rendered in scrolling panel.
 
771
 
 
772
    Use TFOOT to duplicate footers when breaking table
 
773
    across page boundaries, or for static footers when
 
774
    TBODY sections are rendered in scrolling panel.
 
775
 
 
776
    Use multiple TBODY sections when rules are needed
 
777
    between groups of table rows.
 
778
-->
 
779
<!ATTLIST (THEAD|TBODY|TFOOT)          -- table section --
 
780
  %attrs;                              -- %coreattrs, %i18n, %events --
 
781
  %cellhalign;                         -- horizontal alignment in cells --
 
782
  %cellvalign;                         -- vertical alignment in cells --
 
783
  >
 
784
 
 
785
<!ATTLIST TR                           -- table row --
 
786
  %attrs;                              -- %coreattrs, %i18n, %events --
 
787
  %cellhalign;                         -- horizontal alignment in cells --
 
788
  %cellvalign;                         -- vertical alignment in cells --
 
789
  >
 
790
 
 
791
 
 
792
<!-- Scope is simpler than axes attribute for common tables -->
 
793
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
 
794
 
 
795
<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
 
796
<!ATTLIST (TH|TD)                      -- header or data cell --
 
797
  %attrs;                              -- %coreattrs, %i18n, %events --
 
798
  abbr        %Text;         #IMPLIED  -- abbreviation for header cell --
 
799
  axis        CDATA          #IMPLIED  -- names groups of related headers--
 
800
  headers     IDREFS         #IMPLIED  -- list of id's for header cells --
 
801
  scope       %Scope;        #IMPLIED  -- scope covered by header cells --
 
802
  rowspan     NUMBER         1         -- number of rows spanned by cell --
 
803
  colspan     NUMBER         1         -- number of cols spanned by cell --
 
804
  %cellhalign;                         -- horizontal alignment in cells --
 
805
  %cellvalign;                         -- vertical alignment in cells --
 
806
  >
 
807
 
 
808
 
 
809
<!--================ Document Head =======================================-->
 
810
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
 
811
<!ENTITY % head.content "TITLE & BASE?">
 
812
 
 
813
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
 
814
<!ATTLIST HEAD
 
815
  %i18n;                               -- lang, dir --
 
816
  profile     %URI;          #IMPLIED  -- named dictionary of meta info --
 
817
  >
 
818
 
 
819
<!-- The TITLE element is not considered part of the flow of text.
 
820
       It should be displayed, for example as the page header or
 
821
       window title. Exactly one title is required per document.
 
822
    -->
 
823
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
 
824
<!ATTLIST TITLE %i18n>
 
825
 
 
826
 
 
827
<!ELEMENT BASE - O EMPTY               -- document base URI -->
 
828
<!ATTLIST BASE
 
829
  href        %URI;          #REQUIRED -- URI that acts as base URI --
 
830
  >
 
831
 
 
832
<!ELEMENT META - O EMPTY               -- generic metainformation -->
 
833
<!ATTLIST META
 
834
  %i18n;                               -- lang, dir, for use with content --
 
835
  http-equiv  NAME           #IMPLIED  -- HTTP response header name  --
 
836
  name        NAME           #IMPLIED  -- metainformation name --
 
837
  content     CDATA          #REQUIRED -- associated information --
 
838
  scheme      CDATA          #IMPLIED  -- select form of content --
 
839
  >
 
840
 
 
841
<!ELEMENT STYLE - - %StyleSheet        -- style info -->
 
842
<!ATTLIST STYLE
 
843
  %i18n;                               -- lang, dir, for use with title --
 
844
  type        %ContentType;  #REQUIRED -- content type of style language --
 
845
  media       %MediaDesc;    #IMPLIED  -- designed for use with these media --
 
846
  title       %Text;         #IMPLIED  -- advisory title --
 
847
  >
 
848
 
 
849
<!ELEMENT SCRIPT - - %Script;          -- script statements -->
 
850
<!ATTLIST SCRIPT
 
851
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
 
852
  type        %ContentType;  #REQUIRED -- content type of script language --
 
853
  src         %URI;          #IMPLIED  -- URI for an external script --
 
854
  defer       (defer)        #IMPLIED  -- UA may defer execution of script --
 
855
  event       CDATA          #IMPLIED  -- reserved for possible future use --
 
856
  for         %URI;          #IMPLIED  -- reserved for possible future use --
 
857
  >
 
858
 
 
859
<!ELEMENT NOSCRIPT - - (%block;)+
 
860
  -- alternate content container for non script-based rendering -->
 
861
<!ATTLIST NOSCRIPT
 
862
  %attrs;                              -- %coreattrs, %i18n, %events --
 
863
  >
 
864
 
 
865
<!--================ Document Structure ==================================-->
 
866
<!ENTITY % html.content "HEAD, BODY">
 
867
 
 
868
<!ELEMENT HTML O O (%html.content;)    -- document root element -->
 
869
<!ATTLIST HTML
 
870
  %i18n;                               -- lang, dir --
 
871
  >