2
======================================================================
4
======================================================================
6
:Contact: goodger@users.sourceforge.net
7
:Revision: $Revision: 1.26 $
8
:Date: $Date: 2004/03/21 15:44:21 $
9
:Copyright: This DTD has been placed in the public domain.
10
:Filename: docutils.dtd
12
More information about this DTD (document type definition) and the
13
Docutils project can be found at http://docutils.sourceforge.net/.
14
The latest version of this DTD is available from
15
http://docutils.sourceforge.net/spec/docutils.dtd.
17
The formal public identifier for this DTD is::
19
+//IDN docutils.sourceforge.net//DTD Docutils Generic//EN//XML
23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
Parameter entities are used to simplify the DTD (reduce duplication)
28
and to allow the DTD to be customized by wrapper DTDs. Parameter
29
entities beginning with "additional" are meant to allow easy extension
34
================================================================== -->
36
<!-- Boolean: no if zero(s), yes if any other value. -->
37
<!ENTITY % yesorno "NMTOKEN">
39
<!-- Emphasize that the attribute value must be a number. -->
40
<!ENTITY % number "NMTOKEN">
42
<!ENTITY % additional.basic.atts "">
44
Attributes shared by all elements in this DTD:
46
- `id` is a unique identifier, typically assigned by the system.
47
- `name` is an identifier assigned in the markup.
48
- `dupname` is the same as `name`, used when it's a duplicate.
49
- `source` is the name of the source of this document or fragment.
50
- `class` is used to transmit individuality information forward.
54
name NMTOKENS #IMPLIED
55
dupname NMTOKENS #IMPLIED
57
class NMTOKENS #IMPLIED
58
%additional.basic.atts; ">
60
<!-- External reference to a URI/URL. -->
62
" refuri CDATA #IMPLIED ">
64
<!-- Internal reference to the `id` attribute of an element. -->
66
" refid IDREF #IMPLIED ">
68
<!-- Space-separated list of id references, for backlinks. -->
69
<!ENTITY % backrefs.att
70
" backrefs IDREFS #IMPLIED ">
73
Internal reference to the `name` attribute of an element. On a
74
'target' element, 'refname' indicates an indirect target which may
75
resolve to either an internal or external reference.
77
<!ENTITY % refname.att
78
" refname NMTOKENS #IMPLIED ">
80
<!ENTITY % additional.reference.atts "">
81
<!-- Collected hyperlink reference attributes. -->
82
<!ENTITY % reference.atts
86
%additional.reference.atts; ">
88
<!-- Unnamed hyperlink. -->
89
<!ENTITY % anonymous.att
90
" anonymous %yesorno; #IMPLIED ">
92
<!-- Auto-numbered footnote or title. -->
94
" auto CDATA #IMPLIED ">
96
<!-- XML standard attribute for whitespace-preserving elements. -->
97
<!ENTITY % fixedspace.att
98
" xml:space (default | preserve) #FIXED 'preserve' ">
101
<!-- Element OR-Lists
102
============================================================= -->
104
<!ENTITY % additional.bibliographic.elements "">
105
<!ENTITY % bibliographic.elements
106
" author | authors | organization | address | contact
107
| version | revision | status | date | copyright
109
%additional.bibliographic.elements; ">
111
<!ENTITY % additional.section.elements "">
112
<!ENTITY % section.elements
114
%additional.section.elements; ">
116
<!ENTITY % additional.body.elements "">
117
<!ENTITY % body.elements
118
" paragraph | literal_block | doctest_block | line_block | block_quote
119
| table | figure | image | footnote | citation | rubric
120
| bullet_list | enumerated_list | definition_list | field_list
122
| attention | caution | danger | error | hint | important | note
123
| tip | warning | admonition
124
| reference | target | substitution_definition | comment | pending
125
| system_message | raw
126
%additional.body.elements; ">
128
<!ENTITY % additional.inline.elements "">
129
<!ENTITY % inline.elements
130
" emphasis | strong | literal
131
| reference | footnote_reference | citation_reference
132
| substitution_reference | title_reference
133
| abbreviation | acronym | subscript | superscript
134
| inline | problematic | generated
135
| target | image | raw
136
%additional.inline.elements; ">
139
<!-- Element Content Models
140
================================================================== -->
142
<!ENTITY % structure.model
143
" ( ( (%body.elements; | topic | sidebar)+,
144
(transition, (%body.elements; | topic | sidebar)+ )*,
145
(%section.elements;)* )
146
| (%section.elements;)+ ) ">
148
<!ENTITY % text.model
149
" (#PCDATA | %inline.elements;)* ">
153
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
155
This DTD uses the Exchange subset of the CALS-table model (OASIS
156
Technical Memorandum 9901:1999 "XML Exchange Table Model DTD",
157
http://www.oasis-open.org/html/tm9901.htm).
160
<!ENTITY % calstblx PUBLIC
161
"-//OASIS//DTD XML Exchange Table Model 19990315//EN"
164
<!-- These parameter entities customize the table model DTD. -->
165
<!ENTITY % bodyatt " %basic.atts; "> <!-- table elt -->
166
<!ENTITY % tbl.tgroup.att " %basic.atts; ">
167
<!ENTITY % tbl.thead.att " %basic.atts; ">
168
<!ENTITY % tbl.tbody.att " %basic.atts; ">
169
<!ENTITY % tbl.colspec.att " %basic.atts; ">
170
<!ENTITY % tbl.row.att " %basic.atts; ">
171
<!ENTITY % tbl.entry.mdl " (%body.elements;)* ">
172
<!ENTITY % tbl.entry.att
174
morecols %number; #IMPLIED ">
177
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182
<!-- Optional elements may be generated by internal processing. -->
184
((title, subtitle?)?, docinfo?, decoration?, %structure.model;)>
185
<!ATTLIST document %basic.atts;>
188
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
190
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193
<!ELEMENT title %text.model;>
199
<!ELEMENT subtitle %text.model;>
200
<!ATTLIST subtitle %basic.atts;>
203
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
204
Bibliographic Elements
205
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208
<!-- Container for bibliographic elements. May not be empty. -->
209
<!ELEMENT docinfo (%bibliographic.elements;)+>
210
<!ATTLIST docinfo %basic.atts;>
212
<!-- Container for bibliographic elements. May not be empty.
213
Eventual replacement for docinfo? -->
214
<!ELEMENT info (%bibliographic.elements;)+>
215
<!ATTLIST info %basic.atts;>
217
<!ELEMENT author %text.model;>
218
<!ATTLIST author %basic.atts;>
220
<!ELEMENT authors ((author, organization?, address?, contact?)+)>
221
<!ATTLIST authors %basic.atts;>
223
<!ELEMENT organization %text.model;>
224
<!ATTLIST organization %basic.atts;>
226
<!ELEMENT address %text.model;>
231
<!ELEMENT contact %text.model;>
232
<!ATTLIST contact %basic.atts;>
234
<!ELEMENT version %text.model;>
235
<!ATTLIST version %basic.atts;>
237
<!ELEMENT revision %text.model;>
238
<!ATTLIST revision %basic.atts;>
240
<!ELEMENT status %text.model;>
241
<!ATTLIST status %basic.atts;>
243
<!ELEMENT date %text.model;>
244
<!ATTLIST date %basic.atts;>
246
<!ELEMENT copyright %text.model;>
247
<!ATTLIST copyright %basic.atts;>
250
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
252
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
255
<!ELEMENT decoration (header?, footer?)>
256
<!ATTLIST decoration %basic.atts;>
258
<!ELEMENT header (%body.elements;)+>
259
<!ATTLIST header %basic.atts;>
261
<!ELEMENT footer (%body.elements;)+>
262
<!ATTLIST footer %basic.atts;>
265
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
267
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
271
(title, subtitle?, info?, decoration?, %structure.model;)>
272
<!ATTLIST section %basic.atts;>
274
<!ELEMENT topic (title?, (%body.elements;)+)>
275
<!ATTLIST topic %basic.atts;>
277
<!ELEMENT sidebar (title, subtitle?, (%body.elements;)+)>
278
<!ATTLIST sidebar %basic.atts;>
280
<!ELEMENT transition EMPTY>
281
<!ATTLIST transition %basic.atts;>
284
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
286
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
289
<!ELEMENT paragraph %text.model;>
290
<!ATTLIST paragraph %basic.atts;>
292
<!ELEMENT bullet_list (list_item+)>
293
<!ATTLIST bullet_list
295
bullet CDATA #IMPLIED>
297
<!ELEMENT enumerated_list (list_item+)>
298
<!ATTLIST enumerated_list
300
enumtype (arabic | loweralpha | upperalpha
301
| lowerroman | upperroman)
303
prefix CDATA #IMPLIED
304
suffix CDATA #IMPLIED
305
start %number; #IMPLIED>
307
<!ELEMENT list_item (%body.elements;)+>
308
<!ATTLIST list_item %basic.atts;>
310
<!ELEMENT definition_list (definition_list_item+)>
311
<!ATTLIST definition_list %basic.atts;>
313
<!ELEMENT definition_list_item (term, classifier?, definition)>
314
<!ATTLIST definition_list_item %basic.atts;>
316
<!ELEMENT term %text.model;>
317
<!ATTLIST term %basic.atts;>
319
<!ELEMENT classifier %text.model;>
320
<!ATTLIST classifier %basic.atts;>
322
<!ELEMENT definition (%body.elements;)+>
323
<!ATTLIST definition %basic.atts;>
325
<!ELEMENT field_list (field+)>
326
<!ATTLIST field_list %basic.atts;>
328
<!ELEMENT field (field_name, field_body)>
329
<!ATTLIST field %basic.atts;>
331
<!ELEMENT field_name %text.model;>
332
<!ATTLIST field_name %basic.atts;>
334
<!-- May be empty. -->
335
<!ELEMENT field_body (%body.elements;)*>
336
<!ATTLIST field_body %basic.atts;>
338
<!ELEMENT option_list (option_list_item+)>
339
<!ATTLIST option_list %basic.atts;>
341
<!ELEMENT option_list_item (option_group, description)>
342
<!ATTLIST option_list_item %basic.atts;>
344
<!ELEMENT option_group (option+)>
345
<!ATTLIST option_group %basic.atts;>
347
<!ELEMENT option (option_string, option_argument*)>
348
<!ATTLIST option %basic.atts;>
350
<!ELEMENT option_string (#PCDATA)>
351
<!ATTLIST option_string %basic.atts;>
354
`delimiter` contains the text preceding the `option_argument`: either
355
the text separating it from the `option_string` (typically either "="
356
or " ") or the text between option arguments (typically either "," or
359
<!ELEMENT option_argument (#PCDATA)>
360
<!ATTLIST option_argument
362
delimiter CDATA #IMPLIED>
364
<!ELEMENT description (%body.elements;)+>
365
<!ATTLIST description %basic.atts;>
367
<!ELEMENT literal_block %text.model;>
368
<!ATTLIST literal_block
372
<!ELEMENT line_block %text.model;>
377
<!ELEMENT block_quote ((%body.elements;)+, attribution?)>
378
<!ATTLIST block_quote %basic.atts;>
380
<!ELEMENT attribution %text.model;>
381
<!ATTLIST attribution %basic.atts;>
383
<!ELEMENT doctest_block %text.model;>
384
<!ATTLIST doctest_block
388
<!ELEMENT attention (%body.elements;)+>
389
<!ATTLIST attention %basic.atts;>
391
<!ELEMENT caution (%body.elements;)+>
392
<!ATTLIST caution %basic.atts;>
394
<!ELEMENT danger (%body.elements;)+>
395
<!ATTLIST danger %basic.atts;>
397
<!ELEMENT error (%body.elements;)+>
398
<!ATTLIST error %basic.atts;>
400
<!ELEMENT hint (%body.elements;)+>
401
<!ATTLIST hint %basic.atts;>
403
<!ELEMENT important (%body.elements;)+>
404
<!ATTLIST important %basic.atts;>
406
<!ELEMENT note (%body.elements;)+>
407
<!ATTLIST note %basic.atts;>
409
<!ELEMENT tip (%body.elements;)+>
410
<!ATTLIST tip %basic.atts;>
412
<!ELEMENT warning (%body.elements;)+>
413
<!ATTLIST warning %basic.atts;>
415
<!ELEMENT admonition (title, (%body.elements;)+)>
416
<!ATTLIST admonition %basic.atts;>
418
<!ELEMENT footnote (label?, (%body.elements;)+)>
424
<!ELEMENT citation (label, (%body.elements;)+)>
429
<!ELEMENT label (#PCDATA)>
430
<!ATTLIST label %basic.atts;>
432
<!ELEMENT rubric %text.model;>
433
<!ATTLIST rubric %basic.atts;>
435
<!-- Empty except when used as an inline element. -->
436
<!ELEMENT target %text.model;>
442
<!ELEMENT substitution_definition %text.model;>
443
<!ATTLIST substitution_definition %basic.atts;>
445
<!ELEMENT comment (#PCDATA)>
450
<!ELEMENT pending EMPTY>
451
<!ATTLIST pending %basic.atts;>
453
<!ELEMENT figure (image, ((caption, legend?) | legend)) >
456
width %number; #IMPLIED>
458
<!-- Also an inline element. -->
459
<!ELEMENT image EMPTY>
464
height %number; #IMPLIED
465
width %number; #IMPLIED
466
scale %number; #IMPLIED>
468
<!ELEMENT caption %text.model;>
469
<!ATTLIST caption %basic.atts;>
471
<!ELEMENT legend (%body.elements;)+>
472
<!ATTLIST legend %basic.atts;>
475
Table elements: table, tgroup, colspec, thead, tbody, row, entry.
479
<!-- Used to record processing information. -->
480
<!ELEMENT system_message (%body.elements;)+>
481
<!ATTLIST system_message
484
level %number; #IMPLIED
485
line %number; #IMPLIED
486
type NMTOKEN #IMPLIED>
488
<!-- Used to pass raw data through the system. Also inline. -->
489
<!ELEMENT raw %text.model;>
493
format NMTOKEN #IMPLIED>
496
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
500
Inline elements occur within the text contents of body elements. Some
501
nesting of inline elements is allowed by these definitions, with the
504
- An inline element may not contain a nested element of the same type
505
(e.g. <strong> may not contain another <strong>).
506
- Nested inline elements may or may not be supported by individual
507
applications using this DTD.
508
- The inline elements <footnote_reference>, <citation_reference>,
509
<literal>, and <image> do not support nesting.
512
<!ELEMENT emphasis %text.model;>
513
<!ATTLIST emphasis %basic.atts;>
515
<!ELEMENT strong %text.model;>
516
<!ATTLIST strong %basic.atts;>
518
<!ELEMENT literal (#PCDATA)>
519
<!ATTLIST literal %basic.atts;>
521
<!-- Can also be a body element, when it contains an "image" element. -->
522
<!ELEMENT reference %text.model;>
528
<!ELEMENT footnote_reference (#PCDATA)>
529
<!ATTLIST footnote_reference
535
<!ELEMENT citation_reference (#PCDATA)>
536
<!ATTLIST citation_reference
541
<!ELEMENT substitution_reference %text.model;>
542
<!ATTLIST substitution_reference
546
<!ELEMENT title_reference %text.model;>
547
<!ATTLIST title_reference %basic.atts;>
549
<!ELEMENT abbreviation %text.model;>
550
<!ATTLIST abbreviation %basic.atts;>
552
<!ELEMENT acronym %text.model;>
553
<!ATTLIST acronym %basic.atts;>
555
<!ELEMENT superscript %text.model;>
556
<!ATTLIST superscript %basic.atts;>
558
<!ELEMENT subscript %text.model;>
559
<!ATTLIST subscript %basic.atts;>
561
<!ELEMENT inline %text.model;>
562
<!ATTLIST inline %basic.atts;>
564
<!ELEMENT problematic %text.model;>
565
<!ATTLIST problematic
569
<!ELEMENT generated %text.model;>
570
<!ATTLIST generated %basic.atts;>
575
indent-tabs-mode: nil