1 ============================
2 The Docutils Document Tree
3 ============================
5 A Guide to the Docutils DTD
6 ***************************
9 :Contact: goodger@users.sourceforge.net
12 :Copyright: This document has been placed in the public domain.
15 .. contents:: :depth: 1
18 This document describes the XML data structure of Docutils_ documents:
19 the relationships and semantics of elements and attributes. The
20 Docutils document structure is formally defined by the `Docutils
21 Generic DTD`_ XML document type definition, docutils.dtd_, which is
22 the definitive source for details of element structural relationships.
24 This document does not discuss implementation details. Those can be
25 found in internal documentation (docstrings) for the
26 ``docutils.nodes`` module, where the document tree data structure is
27 implemented in a class library.
29 The reader is assumed to have some familiarity with XML or SGML, and
30 an understanding of the data structure meaning of "tree". For a list
31 of introductory articles, see `Introducing the Extensible Markup
34 The reStructuredText_ markup is used for illustrative examples
35 throughout this document. For a gentle introduction, see `A
36 ReStructuredText Primer`_. For complete technical details, see the
37 `reStructuredText Markup Specification`_.
40 .. _Docutils: http://docutils.sourceforge.net/
41 .. _Docutils Generic DTD:
43 .. _docutils.dtd: docutils.dtd
44 .. _Introducing the Extensible Markup Language (XML):
45 http://xml.coverpages.org/xmlIntro.html
46 .. _reStructuredText: http://docutils.sourceforge.net/rst.html
47 .. _A ReStructuredText Primer: ../docs/rst/quickstart.html
48 .. _reStructuredText Markup Specification: rst/reStructuredText.html
57 Below is a simplified diagram of the hierarchy of elements in the
58 Docutils document tree structure. An element may contain any other
59 elements immediately below it in the diagram. Notes are written in
60 square brackets. Element types in parentheses indicate recursive or
61 one-to-many relationships; sections may contain (sub)sections, tables
62 contain further body elements, etc. ::
64 +--------------------------------------------------------------------+
65 | document [may begin with a title, subtitle, docinfo, decoration] |
66 | +--------------------------------------+
67 | | sections [each begins with a title] |
68 +-----------------------------+-------------------------+------------+
69 | [body elements:] | (sections) |
70 | | - literal | - lists | | - hyperlink +------------+
71 | | blocks | - tables | | targets |
72 | para- | - doctest | - block | foot- | - sub. defs |
73 | graphs | blocks | quotes | notes | - comments |
74 +---------+-----------+----------+-------+--------------+
75 | [text]+ | [text] | (body elements) | [text] |
76 | (inline +-----------+------------------+--------------+
80 The Docutils document model uses a simple, recursive model for section
81 structure. A document_ node may contain body elements and section_
82 elements. Sections in turn may contain body elements and sections.
83 The level (depth) of a section element is determined from its physical
84 nesting level; unlike other document models (``<h1>`` in HTML_,
85 ``<sect1>`` in DocBook_, ``<div1>`` in XMLSpec_) the level is not
86 incorporated into the element name.
88 The Docutils document model uses strict element content models. Every
89 element has a unique structure and semantics, but elements may be
90 classified into general categories (below). Only elements which are
91 meant to directly contain text data have a mixed content model, where
92 text data and inline elements may be intermixed. This is unlike the
93 much looser HTML_ document model, where paragraphs and text data may
94 occur at the same level.
100 Structural elements may only contain child elements; they do not
101 directly contain text data. Structural elements may contain body
102 elements or further structural elements. Structural elements can only
103 be child elements of other structural elements.
105 Category members: document_, section_, topic_
108 Structural Subelements
109 ----------------------
111 Structural subelements are child elements of structural elements.
113 Category members: title_, subtitle_, docinfo_, decoration_,
117 Bibliographic Elements
118 ``````````````````````
120 The docinfo_ element is an optional child of document_. It groups
121 bibliographic elements together.
123 Category members: address_, author_, authors_, contact_, copyright_,
124 date_, field_, organization_, revision_, status_, version_
130 The decoration_ element is also an optional child of document_. It
131 groups together elements used to generate page headers and footers.
133 Category members: footer_, header_
139 Body elements are contained within structural elements and compound
140 body elements. There are two subcategories of body elements: simple
143 Category members: attention_, block_quote_, bullet_list_, caution_,
144 citation_, comment_, danger_, definition_list_, doctest_block_,
145 enumerated_list_, error_, field_list_, figure_, footnote_, hint_,
146 image_, important_, line_block_, literal_block_, note_, option_list_,
147 paragraph_, pending_, raw_, substitution_definition_,
148 system_message_, table_, target_, tip_, warning_
154 Simple body elements directly are empty or contain text data. Those
155 that contain text data may also contain inline elements. Such
156 elements therefore have a "mixed content model".
158 Category members: comment_, doctest_block_, image_, line_block_,
159 literal_block_, paragraph_, pending_, raw_, substitution_definition_,
163 Compound Body Elements
164 ----------------------
166 Compound body elements contain local substructure (body subelements)
167 and further body elements. They do not directly contain text data.
169 Category members: attention_, block_quote_, bullet_list_, caution_,
170 citation_, danger_, definition_list_, enumerated_list_, error_,
171 field_list_, figure_, footnote_, hint_, important_, note_,
172 option_list_, system_message_, table_, tip_, warning_
178 Compound body elements contain specific subelements (e.g. bullet_list_
179 contains list_item_). Subelements may themselves be compound elements
180 (containing further child elements, like field_) or simple data
181 elements (containing text data, like field_name_). These subelements
182 always occur within specific parent elements, never at the body
183 element level (beside paragraphs, etc.).
185 Category members (simple): caption_, classifier_, colspec_,
186 field_name_, label_, option_argument_, option_string_, term_
188 Category members (compound): definition_, definition_list_item_,
189 description_, entry_, field_, field_body_, legend_, list_item_,
190 option_, option_group_, option_list_item_, row_, tbody_, tgroup_,
197 Inline elements directly contain text data, and may also contain
198 further inline elements. Inline elements are contained within simple
199 body elements. Most inline elements have a "mixed content model".
201 Category members: citation_reference_, emphasis_, footnote_reference_,
202 generated_, image_, interpreted_, literal_, problematic_, reference_,
203 strong_, substitution_reference_, target_, raw_
206 .. _HTML: http://www.w3.org/MarkUp/
207 .. _DocBook: http://docbook.org/tdg/en/html/docbook.html
208 .. _XMLSpec: http://www.w3.org/XML/1998/06/xmlspec-report.htm
215 .. contents:: :local:
218 Each element in the DTD (document type definition) is described in its
219 own section below. Each section contains an introduction plus the
220 following subsections:
222 * Details (of element relationships and semantics):
224 - Category: One or more references to the element categories in
225 `Element Hierarchy`_ above. Some elements belong to more than one
228 - Parents: A list of elements which may contain the element.
230 - Children: A list of elements which may occur within the element.
232 - Analogues: Describes analogous elements in well-known document
233 models such as HTML_ or DocBook_. Lists similarities and
236 - Processing: Lists formatting or rendering recommendations for the
241 The formal XML content model from the `Docutils DTD`_, followed by:
243 - Attributes: Describes (or refers to descriptions of) the possible
244 values and semantics of each attribute.
246 - Parameter Entities: Lists the parameter entities which directly or
247 indirectly include the element.
249 * Examples: reStructuredText examples are shown along with
250 fragments of the document trees resulting from parsing.
251 _`Pseudo-XML` is used for the results of parsing and processing.
252 Pseudo-XML is a representation of XML where nesting is indicated by
253 indentation and end-tags are not shown. Some of the precision of
254 real XML is given up in exchange for easier readability. For
255 example, the following are equivalent:
260 <section id="a-title" name="a title">
261 <title>A Title</title>
262 <paragraph>A paragraph.</paragraph>
269 <section id="a-title" name="a title">
277 Many of the element reference sections below are marked "_`to be
278 completed`". Please help complete this document by contributing to
285 The ``address`` element holds the surface mailing address information
286 for the author (individual or group) of the document, or a third-party
287 contact address. Its structure is identical to that of the
288 line_block_ element: whitespace is significant, especially newlines.
294 :Category: `Bibliographic Elements`_
297 The following elements may contain ``address``: docinfo_, authors_
300 ``address`` elements contain text data plus `inline elements`_.
303 ``address`` is analogous to the DocBook "address" element.
306 As with the line_block_ element, newlines and other whitespace is
307 significant and must be preserved. However, a monospaced typeface
321 The ``address`` element contains the `common attributes`_ (id_,
322 name_, dupname_, source_, and class_), plus `xml:space`_.
325 The `%bibliographic.elements;`_ parameter entity directly includes
333 reStructuredText source::
338 :Address: 123 Example Ave.
341 Complete pseudo-XML_ result after parsing and applying transforms::
343 <document id="document-title" name="document title">
351 See docinfo_ for a more complete example, including processing
364 The ``author`` element holds the name of the author of the document.
370 :Category: `Bibliographic Elements`_
373 The following elements may contain ``author``: docinfo_, authors_
376 ``author`` elements may contain text data plus `inline elements`_.
379 ``author`` is analogous to the DocBook "author" element.
393 The ``author`` element contains only the `common attributes`_:
394 id_, name_, dupname_, source_, and class_.
397 The `%bibliographic.elements;`_ parameter entity directly includes
404 reStructuredText source::
409 :Author: J. Random Hacker
411 Complete pseudo-XML_ result after parsing and applying transforms::
413 <document id="document-title" name="document title">
420 See docinfo_ for a more complete example, including processing
427 The ``authors`` element is a container for author information for
428 documents with multiple authors.
434 :Category: `Bibliographic Elements`_
437 Only the docinfo_ element contains ``authors``.
440 ``authors`` elements may contain the following elements: author_,
441 organization_, address_, contact_
444 ``authors`` is analogous to the DocBook "authors" element.
455 ((author_, organization_?, address_?, contact_?)+)
458 The ``authors`` element contains only the `common attributes`_:
459 id_, name_, dupname_, source_, and class_.
462 The `%bibliographic.elements;`_ parameter entity directly includes
469 reStructuredText source::
474 :Authors: J. Random Hacker; Jane Doe
476 Complete pseudo-XML_ result after parsing and applying transforms::
478 <document id="document-title" name="document title">
488 In reStructuredText, multiple author's names are separated with
489 semicolons (";") or commas (","); semicolons take precedence. There
490 is currently no way to represent the author's organization, address,
491 or contact in a reStructuredText "Authors" field.
493 See docinfo_ for a more complete example, including processing
506 The ``bullet_list`` element contains list_item_ elements which are
507 uniformly marked with bullets. Bullets are typically simple dingbats
508 (symbols) such as circles and squares.
514 :Category: `Compound Body Elements`_
517 All elements employing the `%body.elements;`_ or
518 `%structure.model;`_ parameter entities in their content models
519 may contain ``bullet_list``.
522 ``bullet_list`` elements contain one or more list_item_ elements.
525 ``bullet_list`` is analogous to the HTML "ul" element and to the
526 DocBook "itemizedlist" element. HTML's "ul" is short for
527 "unordered list", which we consider to be a misnomer. "Unordered"
528 implies that the list items may be randomly rearranged without
529 affecting the meaning of the list. Bullet lists *are* often
530 ordered; the ordering is simply left implicit.
533 Each list item should begin a new vertical block, prefaced by a
545 The ``bullet_list`` element contains the `common attributes`_
546 (id_, name_, dupname_, source_, and class_), plus bullet_.
548 ``bullet`` is used to record the style of bullet from the input
549 data. In reStructuredText, it contains one of "-", "+", or "*".
550 It may be ignored in processing.
553 The `%body.elements;`_ parameter entity directly includes
554 ``bullet_list``. The `%structure.model;`_ parameter entity
555 indirectly includes ``bullet_list``.
561 reStructuredText source::
563 - Item 1, paragraph 1.
569 Pseudo-XML_ fragment from simple parsing::
571 <bullet_list bullet="-">
581 See list_item_ for another example.
602 ``citation_reference``
603 ======================
611 The ``classifier`` element contains the classification or type of the
612 term_ being defined in a definition_list_. For example, it can be
613 used to indicate the type of a variable.
619 :Category: `Body Subelements`_ (simple)
622 Only the definition_list_item_ element contains ``classifier``.
625 ``classifier`` elements may contain text data plus `inline elements`_.
628 ``classifier`` has no direct analogues in common DTDs. It can be
629 emulated with primitives or type effects.
632 See definition_list_item_.
643 The ``classifier`` element contains only the `common attributes`_:
644 id_, name_, dupname_, source_, and class_.
650 Here is a hypothetical data dictionary. reStructuredText source::
655 Temporary index variable.
657 Pseudo-XML_ fragment from simple parsing::
660 <definition_list_item>
668 <definition_list_item>
675 Temporary index variable.
693 The ``contact`` element holds contact information for the author
694 (individual or group) of the document, or a third-party contact. It
695 is typically used for an email or web address.
701 :Category: `Bibliographic Elements`_
704 The following elements may contain ``contact``: docinfo_, authors_
707 ``contact`` elements may contain text data plus `inline
711 ``contact`` is analogous to the DocBook "email" element. The HTML
712 "address" element serves a similar purpose.
726 The ``contact`` element contains only the `common attributes`_:
727 id_, name_, dupname_, source_, and class_.
730 The `%bibliographic.elements;`_ parameter entity directly includes
737 reStructuredText source::
742 :Contact: jrh@example.com
744 Complete pseudo-XML_ result after parsing and applying transforms::
746 <document id="document-title" name="document title">
751 <reference refuri="mailto:jrh@example.com">
754 See docinfo_ for a more complete example, including processing
761 The ``copyright`` element contains the document's copyright statement.
767 :Category: `Bibliographic Elements`_
770 Only the docinfo_ element contains ``copyright``.
773 ``copyright`` elements may contain text data plus `inline
777 ``copyright`` is analogous to the DocBook "copyright" element.
791 The ``copyright`` element contains only the `common attributes`_:
792 id_, name_, dupname_, source_, and class_.
795 The `%bibliographic.elements;`_ parameter entity directly includes
802 reStructuredText source::
807 :Copyright: This document has been placed in the public domain.
809 Complete pseudo-XML_ result after parsing and applying transforms::
811 <document id="document-title" name="document title">
816 This document has been placed in the public domain.
818 See docinfo_ for a more complete example, including processing
831 The ``date`` element contains the date of publication, release, or
832 last modification of the document.
838 :Category: `Bibliographic Elements`_
841 Only the docinfo_ element contains ``date``.
844 ``date`` elements may contain text data plus `inline elements`_.
847 ``date`` is analogous to the DocBook "date" element.
850 Often used with the RCS/CVS keyword "Date". See docinfo_.
861 The ``date`` element contains only the `common attributes`_:
862 id_, name_, dupname_, source_, and class_.
865 The `%bibliographic.elements;`_ parameter entity directly includes
872 reStructuredText source::
879 Complete pseudo-XML_ result after parsing and applying transforms::
881 <document id="document-title" name="document title">
888 See docinfo_ for a more complete example, including processing
895 The ``decoration`` element is a container for header_ and footer_
896 elements and potential future extensions. These elements are used for
897 page navigation, notes, time/datestamp, etc. Currently only the
898 footer_ element is implemented, populated with processing information
899 (datestamp, a link to Docutils_, etc.).
905 :Category: `Structural Subelements`_
908 Only the document_ element contains ``decoration``.
911 ``decoration`` elements may contain `decorative elements`_.
914 There are no direct analogies to ``decoration`` in HTML or in
915 DocBook. Equivalents are typically constructed from primitives
916 and/or generated by the processing system.
919 See the individual `decorative elements`_.
928 Although the content model doesn't specifically require contents, no
929 empty ``decoration`` elements are ever created.
932 The ``decoration`` element contains only the `common attributes`_:
933 id_, name_, dupname_, source_, and class_.
939 reStructuredText source::
943 Complete pseudo-XML_ result after parsing and applying transforms,
944 assuming that the datestamp command-line option or configuration
945 setting has been supplied::
951 Generated on: 2002-08-20.
959 The ``definition`` element is a container for the body elements used
960 to define a term_ in a definition_list_.
966 :Category: `Body Subelements`_ (compound)
969 Only definition_list_item_ elements contain ``definition``.
972 ``definition`` elements may contain `body elements`_.
975 ``definition`` is analogous to the HTML "dd" element and to the
976 DocBook "listitem" element (inside a "variablelistentry" element).
979 See definition_list_item_.
987 (`%body.elements;`_)+
990 The ``definition`` element contains only the `common attributes`_:
991 id_, name_, dupname_, source_, and class_.
997 See the examples for the definition_list_, definition_list_item_, and
998 classifier_ elements.
1004 The ``definition_list`` element contains a list of terms and their
1005 definitions. It can be used for glossaries or dictionaries, to
1006 describe or classify things, for dialogues, or to itemize subtopics
1007 (such as in this reference).
1013 :Category: `Compound Body Elements`_
1016 All elements employing the `%body.elements;`_ or
1017 `%structure.model;`_ parameter entities in their content models
1018 may contain ``definition_list``.
1021 ``definition_list`` elements contain one or more
1022 definition_list_item_ elements.
1025 ``definition_list`` is analogous to the HTML "dl" element and to
1026 the DocBook "variablelist" element.
1029 See definition_list_item_.
1037 (definition_list_item_+)
1040 The ``definition_list`` element contains only the `common
1041 attributes`_: id_, name_, dupname_, source_, and class_.
1043 :Parameter Entities:
1044 The `%body.elements;`_ parameter entity directly includes
1045 ``definition_list``. The `%structure.model;`_ parameter entity
1046 indirectly includes ``definition_list``.
1052 reStructuredText source::
1058 The ' : ' indicates a classifier in
1059 definition list item terms only.
1061 Pseudo-XML_ fragment from simple parsing::
1064 <definition_list_item>
1070 <definition_list_item>
1077 The ' : ' indicates a classifier in
1078 definition list item terms only.
1080 See definition_list_item_ and classifier_ for further examples.
1083 ``definition_list_item``
1084 ========================
1086 The ``definition_list_item`` element contains a single
1087 term_/definition_ pair (with optional classifier_).
1093 :Category: `Body Subelements`_ (compound)
1096 Only the definition_list_ element contains
1097 ``definition_list_item``.
1100 ``definition_list_item`` elements each contain a single term_,
1101 an optional classifier_, and a definition_.
1104 ``definition_list_item`` is analogous to the DocBook
1105 "variablelistentry" element.
1108 The optional classifier_ can be rendered differently from the
1109 term_. They should be separated visually, typically by spaces
1110 plus a colon or dash.
1118 (term_, classifier_?, definition_)
1121 The ``definition_list_item`` element contains only the `common
1122 attributes`_: id_, name_, dupname_, source_, and class_.
1128 reStructuredText source::
1130 Tyrannosaurus Rex : carnivore
1131 Big and scary; the "Tyrant King".
1133 Brontosaurus : herbivore
1134 All brontosauruses are thin at one end,
1135 much much thicker in the middle
1136 and then thin again at the far end.
1140 Pseudo-XML_ fragment from simple parsing::
1143 <definition_list_item>
1150 Big and scary; the "Tyrant King".
1151 <definition_list_item>
1158 All brontosauruses are thin at one end,
1159 much much thicker in the middle
1160 and then thin again at the far end.
1164 See definition_list_ and classifier_ for further examples.
1176 The ``docinfo`` element is a container for document bibliographic
1177 data, or meta-data (data about the document). It corresponds to the
1178 front matter of a book, such as the title page and copyright page.
1184 :Category: `Structural Subelements`_
1187 Only the document_ element contains ``docinfo``.
1190 ``docinfo`` elements contain `bibliographic elements`_.
1193 ``docinfo`` is analogous to DocBook "info" elements ("bookinfo"
1194 etc.). There are no directly analogous HTML elements; the "meta"
1195 element carries some of the same information, albeit invisibly.
1198 The ``docinfo`` element may be rendered as a two-column table or
1199 in other styles. It may even be invisible or omitted from the
1200 processed output. Meta-data may be extracted from ``docinfo``
1201 children; for example, HTML ``<meta>`` tags may be constructed.
1203 When Docutils_ transforms a reStructuredText_ field_list_ into a
1204 ``docinfo`` element (see the examples below), RCS/CVS keywords are
1205 normally stripped from simple (one paragraph) field bodies. For
1206 complete details, please see `RCS Keywords`_ in the
1207 `reStructuredText Markup Specification`_.
1209 .. _RCS Keywords: rst/reStructuredText.html#rcs-keywords
1217 (`%bibliographic.elements;`_)+
1220 The ``docinfo`` element contains only the `common attributes`_:
1221 id_, name_, dupname_, source_, and class_.
1227 Docinfo is represented in reStructuredText by a field_list_ in a
1228 bibliographic context: the first non-comment element of a document_,
1229 after any document title_/subtitle_. The field list is transformed
1230 into a ``docinfo`` element and its children by a transform. Source::
1235 :Author: J. Random Hacker
1236 :Contact: jrh@example.com
1238 :Status: Work In Progress
1240 :Filename: $RCSfile$
1241 :Copyright: This document has been placed in the public domain.
1243 Complete pseudo-XML_ result after parsing and applying transforms::
1245 <document id="docinfo-example" name="docinfo example">
1252 <reference refuri="mailto:jrh@example.com">
1267 This document has been placed in the public domain.
1269 Note that "Filename" is a non-standard ``docinfo`` field, so becomes a
1270 generic ``field`` element. Also note that the "RCSfile" keyword
1271 syntax has been stripped from the "Filename" data.
1273 See field_list_ for an example in a non-bibliographic context. Also
1274 see the individual examples for the various `bibliographic elements`_.
1286 The ``document`` element is the root (topmost) element of the Docutils
1287 document tree. ``document`` is the direct or indirect ancestor of
1288 every other element in the tree. It encloses the entire document
1289 tree. It is the starting point for a document.
1295 :Category: `Structural Elements`_
1298 The ``document`` element has no parents.
1301 ``document`` elements may contain `structural subelements`_,
1302 `structural elements`_, and `body elements`_.
1305 ``document`` is analogous to the HTML "html" element and to
1306 several DocBook elements such as "book".
1318 `%structure.model;`_)
1320 Depending on the source of the data and the stage of processing, the
1321 "document" may not initially contain a "title". A document title is
1322 not directly representable in reStructuredText_. Instead, a lone
1323 top-level section may have its title promoted to become the document
1324 title_, and similarly for a lone second-level (sub)section's title to
1325 become the document subtitle_. The "docinfo_" may be transformed from
1326 an initial field_list_, and "decoration_" is usually constructed
1329 See the `%structure.model;`_ parameter entity for details of the body
1333 The ``document`` element contains only the `common attributes`_:
1334 id_, name_, dupname_, source_, and class_.
1340 reStructuredText source::
1347 Complete pseudo-XML_ result from simple parsing::
1350 <section id="a-title" name="a title">
1356 After applying transforms, the section title is promoted to become the
1359 <document id="a-title" name="a title">
1381 The ``enumerated_list`` element contains list_item_ elements which are
1382 uniformly marked with enumerator labels.
1388 :Category: `Compound Body Elements`_
1391 All elements employing the `%body.elements;`_ or
1392 `%structure.model;`_ parameter entities in their content models
1393 may contain ``enumerated_list``.
1396 ``enumerated_list`` elements contain one or more list_item_
1400 ``enumerated_list`` is analogous to the HTML "ol" element and to
1401 the DocBook "orderedlist" element.
1404 Each list item should begin a new vertical block, prefaced by a
1405 enumeration marker (such as "1.").
1416 The ``enumerated_list`` element contains the `common attributes`_
1417 (id_, name_, dupname_, source_, and class_), plus enumtype_,
1418 prefix_, suffix_, and start_.
1420 ``enumtype`` is used to record the intended enumeration sequence,
1421 one of "arabic" (1, 2, 3, ...), "loweralpha" (a, b, c, ..., z),
1422 "upperalpha" (A, B, C, ..., Z), "lowerroman" (i, ii, iii, iv, ...,
1423 mmmmcmxcix [4999]), or "upperroman" (I, II, III, IV, ...,
1426 ``prefix`` stores the formatting characters used before the
1427 enumerator. In documents originating from reStructuredText data,
1428 it will contain either "" (empty string) or "(" (left
1429 parenthesis). It may or may not affect processing.
1431 ``suffix`` stores the formatting characters used after the
1432 enumerator. In documents originating from reStructuredText data,
1433 it will contain either "." (period) or ")" (right parenthesis).
1434 Depending on the capabilities of the output format, this attribute
1435 may or may not affect processing.
1437 ``start`` contains the ordinal value of the first item in the
1438 list, in decimal. For lists beginning at value 1 ("1", "a", "A",
1439 "i", or "I"), this attribute may be omitted.
1441 :Parameter Entities:
1442 The `%body.elements;`_ parameter entity directly includes
1443 ``enumerated_list``. The `%structure.model;`_ parameter entity
1444 indirectly includes ``enumerated_list``.
1450 reStructuredText source::
1460 Pseudo-XML_ fragment from simple parsing::
1462 <enumerated_list enumtype="arabic" prefix="" suffix=".">
1466 <enumerated_list enumtype="upperalpha" prefix="(" suffix=")">
1480 See list_item_ for another example.
1492 The ``field`` element contains a pair of field_name_ and field_body_
1499 :Category: `Body Subelements`_
1502 The following elements may contain ``field``: docinfo_,
1506 Each ``field`` element contains one field_name_ and one
1507 field_body_ element.
1510 ``field`` has no direct analogues in common DTDs.
1512 :Processing: See field_list_.
1520 (field_name_, field_body_)
1523 The ``field`` element contains only the `common attributes`_:
1524 id_, name_, dupname_, source_, and class_.
1526 :Parameter Entities:
1527 The `%bibliographic.elements;`_ parameter entity directly includes
1534 See the examples for the field_list_ and docinfo_ elements.
1540 The ``field_body`` element contains body elements. It is analogous to
1541 a database field's data.
1547 :Category: `Body Subelements`_
1550 Only the field_ element contains ``field_body``.
1553 ``field_body`` elements may contain `body elements`_.
1556 ``field_body`` has no direct analogues in common DTDs.
1558 :Processing: See field_list_.
1566 (`%body.elements;`_)*
1569 The ``field_body`` element contains only the `common attributes`_:
1570 id_, name_, dupname_, source_, and class_.
1576 See the examples for the field_list_ and docinfo_ elements.
1582 The ``field_list`` element contains two-column table-like structures
1583 resembling database records (label & data pairs). Field lists are
1584 often meant for further processing. In reStructuredText, field lists
1585 are used to represent bibliographic fields (contents of the docinfo_
1586 element) and directive options.
1592 :Category: `Compound Body Elements`_
1595 All elements employing the `%body.elements;`_ or
1596 `%structure.model;`_ parameter entities in their content models
1597 may contain ``field_list``.
1600 ``field_list`` elements contain one or more field_ elements.
1603 ``field_list`` has no direct analogues in common DTDs. It can be
1604 emulated with primitives such as tables.
1607 A ``field_list`` is typically rendered as a two-column list, where
1608 the first column contains "labels" (usually with a colon suffix).
1609 However, field lists are often used for extension syntax or
1610 special processing. Such structures do not survive as field lists
1622 The ``field_list`` element contains only the `common attributes`_:
1623 id_, name_, dupname_, source_, and class_.
1625 :Parameter Entities:
1626 The `%body.elements;`_ parameter entity directly includes
1627 ``field_list``. The `%structure.model;`_ parameter entity
1628 indirectly includes ``field_list``.
1634 reStructuredText source::
1639 :Parameter i: integer
1641 Pseudo-XML_ fragment from simple parsing::
1673 The ``field_name`` element contains text data only. It is analogous
1674 to a database field's name.
1680 :Category: `Body Subelements`_
1683 Only the field_ element contains ``field_name``.
1686 ``field_name`` elements have no children. They may contain text
1690 ``field_name`` has no direct analogues in common DTDs.
1692 :Processing: See field_list_.
1703 The ``field_name`` element contains only the `common attributes`_:
1704 id_, name_, dupname_, source_, and class_.
1710 See the examples for the field_list_ and docinfo_ elements.
1722 The ``footer`` element is a container element whose contents are meant
1723 to appear at the bottom of a web page, or repeated at the bottom of
1724 every printed page. Currently the ``footer`` element may contain
1725 processing information (datestamp, a link to Docutils_, etc.).
1731 :Category: `Decorative Elements`_
1734 Only the decoration_ element contains ``footer``.
1737 ``footer`` elements may contain `body elements`_.
1740 There are no direct analogies to ``footer`` in HTML or DocBook.
1741 Equivalents are typically constructed from primitives and/or
1742 generated by the processing system.
1750 (`%body.elements;`_)+
1753 The ``footer`` element contains only the `common attributes`_:
1754 id_, name_, dupname_, source_, and class_.
1760 reStructuredText source::
1764 Complete pseudo-XML_ result after parsing and applying transforms,
1765 assuming that the datestamp command-line option or configuration
1766 setting has been supplied::
1772 Generated on: 2002-08-20.
1783 ``footnote_reference``
1784 ======================
1798 The ``header`` element is a container element whose contents are meant
1799 to appear at the top of a web page, or at the top of every printed
1800 page. Docutils does not yet make use of the ``header`` element.
1806 :Category: `Decorative Elements`_
1809 Only the decoration_ element contains ``header``.
1812 ``header`` elements may contain `body elements`_.
1815 There are no direct analogies to ``header`` in HTML or DocBook.
1816 Equivalents are typically constructed from primitives and/or
1817 generated by the processing system.
1825 (`%body.elements;`_)+
1828 The ``header`` element contains only the `common attributes`_:
1829 id_, name_, dupname_, source_, and class_.
1883 The ``list_item`` element is a container for the elements of a list
1890 :Category: `Body Subelements`_ (compound)
1893 The bullet_list_ and enumerated_list_ elements contain
1897 ``list_item`` elements may contain `body elements`_.
1900 ``list_item`` is analogous to the HTML "li" element and to the
1901 DocBook "listitem" element.
1904 See bullet_list_ or enumerated_list_.
1912 (`%body.elements;`_)+
1915 The ``list_item`` element contains only the `common attributes`_:
1916 id_, name_, dupname_, source_, and class_.
1922 reStructuredText source::
1924 1. Outer list, item 1.
1926 * Inner list, item 1.
1927 * Inner list, item 2.
1929 2. Outer list, item 2.
1931 Pseudo-XML_ fragment from simple parsing::
1933 <enumerated_list enumtype="arabic" prefix="" suffix=".">
1937 <bullet_list bullet="*">
1948 See bullet_list_ or enumerated_list_ for further examples.
1993 ``option_list_item``
1994 ====================
2008 The ``organization`` element contains the name of document author's
2009 organization, or the organization responsible for the document.
2015 :Category: `Bibliographic Elements`_
2018 Only the docinfo_ element contains ``organization``.
2021 ``organization`` elements may contain text data plus `inline
2025 ``organization`` is analogous to the DocBook "orgname",
2026 "corpname", or "publishername" elements.
2040 The ``organization`` element contains only the `common attributes`_:
2041 id_, name_, dupname_, source_, and class_.
2043 :Parameter Entities:
2044 The `%bibliographic.elements;`_ parameter entity directly includes
2051 reStructuredText source::
2056 :Organization: Humankind
2058 Complete pseudo-XML_ result after parsing and applying transforms::
2060 <document id="document-title" name="document title">
2067 See docinfo_ for a more complete example, including processing
2074 The ``paragraph`` element contains the text and inline elements of a
2075 single paragraph, a fundamental building block of documents.
2081 :Category: `Simple Body Elements`_
2084 All elements employing the `%body.elements;`_ or
2085 `%structure.model;`_ parameter entities in their content models
2086 may contain ``paragraph``.
2089 ``paragraph`` elements may contain text data plus `inline
2093 ``paragraph`` is analogous to the HTML "p" element and to the
2094 DocBook "para" elements.
2105 The ``paragraph`` element contains only the `common attributes`_:
2106 id_, name_, dupname_, source_, and class_.
2108 :Parameter Entities:
2109 The `%body.elements;`_ parameter entity directly includes
2110 ``paragraph``. The `%structure.model;`_ parameter entity
2111 indirectly includes ``paragraph``.
2117 reStructuredText source::
2121 Pseudo-XML_ fragment from simple parsing::
2154 The ``revision`` element contains the revision number of the document.
2155 It can be used alone or in conjunction with version_.
2161 :Category: `Bibliographic Elements`_
2164 Only the docinfo_ element contains ``revision``.
2167 ``revision`` elements may contain text data plus `inline
2171 ``revision`` is analogous to but simpler than the DocBook
2172 "revision" element. It closely matches the DocBook "revnumber"
2173 element, but in a simpler context.
2176 Often used with the RCS/CVS keyword "Revision". See docinfo_.
2187 The ``revision`` element contains only the `common attributes`_:
2188 id_, name_, dupname_, source_, and class_.
2190 :Parameter Entities:
2191 The `%bibliographic.elements;`_ parameter entity directly includes
2198 reStructuredText source::
2206 Complete pseudo-XML_ result after parsing and applying transforms::
2208 <document id="document-title" name="document title">
2217 See docinfo_ for a more complete example, including processing
2230 The ``section`` element is the main unit of hierarchy for Docutils
2231 documents. Docutils ``section`` elements are a recursive structure; a
2232 ``section`` may contain other ``section`` elements, without limit.
2233 Paragraphs and other body elements may occur before a ``section``, but
2240 :Category: `Structural Elements`_
2243 The following elements may contain ``section``: document_,
2247 ``section`` elements begin with a title_, and may contain `body
2248 elements`_ and transition_ and topic_ elements.
2251 ``section`` is analogous to DocBook recursive "section" elements,
2252 and to HTML "div" elements combined with "h1" etc. title elements.
2261 `%structure.model;`_)
2263 See the `%structure.model;`_ parameter entity for details of the body
2267 The ``section`` element contains only the `common attributes`_:
2268 id_, name_, dupname_, source_, and class_.
2270 :Parameter Entities:
2271 The `%section.elements;`_ parameter entity directly includes
2272 ``section``. The `%structure.model;`_ parameter entity indirectly
2273 includes ``section``.
2279 reStructuredText source::
2297 Complete pseudo-XML_ result after parsing::
2300 <section id="title-1" name="title 1">
2305 <section id="title-2" name="title 2">
2310 <section id="title-3" name="title 3">
2315 <section id="title-4" name="title 4">
2325 The ``status`` element contains a status statement for the document,
2326 such as "Draft", "Final", "Work In Progress", etc.
2332 :Category: `Bibliographic Elements`_
2335 Only the docinfo_ element contains ``status``.
2338 ``status`` elements may contain text data plus `inline elements`_.
2341 ``status`` is analogous to the DocBook "status" element.
2355 The ``status`` element contains only the `common attributes`_:
2356 id_, name_, dupname_, source_, and class_.
2358 :Parameter Entities:
2359 The `%bibliographic.elements;`_ parameter entity directly includes
2366 reStructuredText source::
2371 :Status: Work In Progress
2373 Complete pseudo-XML_ result after parsing and applying transforms::
2375 <document id="document-title" name="document title">
2382 See docinfo_ for a more complete example, including processing
2392 ``substitution_definition``
2393 ===========================
2398 ``substitution_reference``
2399 ==========================
2407 The ``subtitle`` element stores the subtitle of a document_.
2413 :Category: `Structural Subelements`_
2416 Only the document_ element contains ``subtitle``.
2419 ``subtitle`` elements may contain text data plus `inline
2423 ``subtitle`` is analogous to HTML header elements ("h2" etc.) and
2424 to the DocBook "subtitle" element.
2427 A document's subtitle is usually rendered smaller than its title_.
2438 The ``subtitle`` element contains only the `common attributes`_:
2439 id_, name_, dupname_, source_, and class_.
2445 reStructuredText source::
2456 Complete pseudo-XML_ result after parsing and applying transforms::
2458 <document id="title" name="title">
2461 <subtitle id="subtitle" name="subtitle">
2466 Note how two section levels have collapsed, promoting their titles to
2467 become the document's title and subtitle. Since there is only one
2468 structural element (document), the subsection's ``id`` and ``name``
2469 attributes are stored in the ``subtitle`` element.
2499 The ``term`` element contains a word or phrase being defined in a
2506 :Category: `Body Subelements`_ (simple)
2509 Only the definition_list_item_ element contains ``term``.
2512 ``term`` elements may contain text data plus `inline elements`_.
2515 ``term`` is analogous to the HTML "dt" element and to the DocBook
2519 See definition_list_item_.
2530 The ``term`` element contains only the `common attributes`_:
2531 id_, name_, dupname_, source_, and class_.
2537 See the examples for the definition_list_, definition_list_item_, and
2538 classifier_ elements.
2562 The ``title`` element stores the title of a document_, section_, or
2569 :Category: `Structural Subelements`_
2572 The following elements may contain ``title``: document_, section_,
2576 ``title`` elements may contain text data plus `inline elements`_.
2579 ``title`` is analogous to HTML "title" and header ("h1" etc.)
2580 elements, and to the DocBook "title" element.
2591 The ``title`` element contains the `common attributes`_ (id_,
2592 name_, dupname_, source_, and class_), plus refid_ and auto_.
2594 ``refid`` is used as a backlink to a table of contents entry.
2596 ``auto`` is used to indicate (with value "1") that the ``title``
2597 has been numbered automatically.
2603 reStructuredText source::
2610 Pseudo-XML_ fragment from simple parsing::
2612 <section id="a-title" name="a title">
2622 The ``topic`` element is a nonrecursive section_-like construct which
2623 may occur at the top level of a section_ wherever a body element
2624 (list, table, etc.) is allowed. In other words, ``topic`` elements
2625 cannot nest inside body elements, so you can't have a ``topic`` inside
2626 a ``table`` or a ``list``, or inside another ``topic``.
2632 :Category: `Structural Elements`_
2635 The following elements may contain ``topic``: document_, section_
2638 ``topic`` elements begin with a title_ and may contain `body
2642 ``topic`` is analogous to the DocBook "simplesect" element.
2645 A ``topic`` element should be set off from the rest of the
2646 document somehow, such as with indentation or a border.
2655 (`%body.elements;`_)+)
2658 The ``topic`` element contains only the `common attributes`_:
2659 id_, name_, dupname_, source_, and class_.
2661 :Parameter Entities:
2662 The `%structure.model;`_ parameter entity directly includes
2669 The `"topic" directive`_ is used to create a ``topic`` element.
2670 reStructuredText source::
2676 Pseudo-XML_ fragment from simple parsing::
2684 .. _"topic" directive: rst/directives.html#topic
2690 The ``transition`` element is commonly seen in novels and short
2691 fiction, as a gap spanning one or more lines, with or without a type
2692 ornament such as a row of asterisks. Transitions separate other body
2693 elements, dividing a section into untitled divisions. A transition
2694 may not begin or end a section or document, nor may two transitions be
2695 immediately adjacent.
2697 See `Representation of Horizontal Rules`_ below.
2703 :Category: `Structural Subelements`_
2706 The following elements may contain ``transition``: document_,
2710 ``transition`` is an empty element and has no children.
2713 ``transition`` is analogous to the HTML "hr" element.
2716 The ``transition`` element is typically rendered as vertical
2717 whitespace (more than that separating paragraphs), with or without
2718 a horizontal line or row of asterisks. In novels, transitions are
2719 often represented as a row of three well-spaced asterisks with
2720 vertical space above and below.
2730 The ``transition`` element has no content; it is a "point element".
2733 The ``transition`` element contains only the `common attributes`_:
2734 id_, name_, dupname_, source_, and class_.
2736 :Parameter Entities:
2737 The `%structure.model;`_ parameter entity directly includes
2744 reStructuredText source::
2752 Complete pseudo-XML_ result after parsing::
2765 The ``version`` element contains the version number of the document.
2766 It can be used alone or in conjunction with revision_.
2772 :Category: `Bibliographic Elements`_
2775 Only the docinfo_ element contains ``version``.
2778 ``version`` elements may contain text data plus `inline
2782 ``version`` may be considered analogous to the DocBook "revision",
2783 "revnumber", or "biblioid" elements.
2786 Sometimes used with the RCS/CVS keyword "Revision". See docinfo_
2798 The ``version`` element contains only the `common attributes`_:
2799 id_, name_, dupname_, source_, and class_.
2801 :Parameter Entities:
2802 The `%bibliographic.elements;`_ parameter entity directly includes
2809 reStructuredText source::
2816 Complete pseudo-XML_ result after parsing and applying transforms::
2818 <document id="document-title" name="document title">
2825 See docinfo_ for a more complete example, including processing
2835 ---------------------
2837 ---------------------
2839 .. contents:: :local:
2842 _`Common Attributes`: Through the `%basic.atts;`_ parameter entity,
2843 all elements contain the following attributes: id_, name_, dupname_,
2844 source_, and class_.
2851 Character data. ``CDATA`` attributes may contain arbitrary text.
2854 Like a ``NMTOKEN``, but it must begin with a letter (a "name
2855 production"). Identical ``ID`` values must not appear more than
2856 once in a document; i.e., ID values must uniquely identify their
2860 A reference to an ``ID`` value (a name production) of another
2864 One or more space-separated ``ID`` references (name productions).
2867 A "name token". One or more of letters, digits, ".", "-", and
2871 One or more space-separated ``NMTOKEN`` names.
2874 No if zero ("0"), yes if any other value. This is a parameter
2875 entity which resolves to a ``NMTOKEN`` attribute type.
2878 This emphasizes that the attribute value must be a number. This
2879 is a parameter entity which resolves to a ``NMTOKEN`` attribute
2883 The attribute value may be one of a specified list of values.
2889 `Attribute type`_: ``%yesorno;``. Default value: none (implies no).
2891 The ``anonymous`` attribute is used for unnamed hyperlinks in the
2892 target_ and reference_ elements (via the `%anonymous.att;`_ parameter
2899 `Attribute type`_: ``CDATA``. Default value: none.
2901 The ``auto`` attribute is used to indicate automatically-numbered
2902 footnote_, footnote_reference_ and title_ elements (via the
2903 `%auto.att;`_ parameter entity).
2909 `Attribute type`_: ``IDREFS``. Default value: none.
2911 The ``backrefs`` attribute contains a space-separated list of id_
2912 references, used for backlinks from footnote_, citation_, and
2913 system_message_ elements (via the `%backrefs.att;`_ parameter entity).
2919 `Attribute type`_: ``CDATA``. Default value: none.
2921 The ``bullet`` attribute is used in the bullet_list_ element.
2927 `Attribute type`_: ``NMTOKENS``. Default value: none.
2929 The ``class`` attribute contains one or more names used to classify an
2930 element. It can be used to carry context forward between a Docutils
2931 Reader and Writer, when a custom structure is reduced to a
2932 standardized document tree. ``class`` is one of the `common
2933 attributes`_, shared by all Docutils elements.
2939 `Attribute type`_: ``NMTOKENS``. Default value: none.
2941 The ``dupname`` attribute contains the name of an element when there
2942 has been a naming conflict. The contents of the ``dupname`` attribute
2943 would have been transferred from the `name`_ attribute. An element
2944 may have at most one of the ``name`` or ``dupname`` attributes, but
2945 not both. ``dupname`` is one of the `common attributes`_, shared by
2946 all Docutils elements.
2952 `Attribute type`_: enumeration, one of "arabic", "loweralpha",
2953 "upperalpha", "lowerroman", or "upperroman". Default value: none.
2955 The ``enumtype`` attribute is used in the enumerated_list_ element.
2961 `Attribute type`_: ``ID``. Default value: none.
2963 The ``id`` attribute contains a unique identifier key. ``id`` is one
2964 of the `common attributes`_, shared by all Docutils elements.
2970 `Attribute type`_: ``NMTOKENS``. Default value: none.
2972 The ``name`` attribute contains the name of an element, typically
2973 originating from the element's title or content. ``name`` must be
2974 unique; if there are name conflicts (two or more elements want to the
2975 same name), the contents will be transferred to the `dupname`_
2976 attribute on the duplicate elements. An element may have at most one
2977 of the ``name`` or ``dupname`` attributes, but not both. ``name`` is
2978 one of the `common attributes`_, shared by all Docutils elements.
2984 `Attribute type`_: ``CDATA``. Default value: none.
2986 The ``prefix`` attribute is used in the enumerated_list_ element.
2992 `Attribute type`_: ``IDREF``. Default value: none.
2994 The ``refid`` attribute contains references to `id`_ attributes in
2995 other elements. It is used by the target_, reference_,
2996 footnote_reference_, citation_reference_, title_ and problematic_
2997 elements (via the `%refid.att;`_ and `%reference.atts;`_ parameter
3004 `Attribute type`_: ``NMTOKENS``. Default value: none.
3006 The ``refname`` attribute contains an internal reference to the
3007 `name`_ attribute of another element. On a `target`_ element,
3008 ``refname`` indicates an indirect target which may resolve to either
3009 an internal or external reference. ``refname`` is used by the
3010 target_, reference_, footnote_reference_, citation_reference_, and
3011 substitution_reference_ elements (via the `%refname.att;`_ and
3012 `%reference.atts;`_ parameter entities).
3018 `Attribute type`_: ``CDATA``. Default value: none.
3020 The ``refuri`` attribute contains an external reference to a URI/URL.
3021 It is used by the target_, reference_, footnote_reference_, and
3022 citation_reference_ elements (via the `%reference.atts;`_ parameter
3029 `Attribute type`_: ``CDATA``. Default value: none.
3031 The ``source`` attribute is used to store the path or URL to the
3032 source text that was used to produce the document tree. It is one of
3033 the `common attributes`_, shared by all Docutils elements.
3039 `Attribute type`_: ``%number;``. Default value: none.
3041 The ``start`` attribute is used in the enumerated_list_ element.
3047 `Attribute type`_: ``CDATA``. Default value: none.
3049 The ``suffix`` attribute is used in the enumerated_list_ element.
3055 `Attribute type`_: one of "default" or "preserve". Default value:
3058 The ``xml:space`` attribute is a standard XML attribute for
3059 whitespace-preserving elements. It is used by the literal_block_,
3060 line_block_, doctest_block_, comment_, and raw_ elements (via the
3061 `%fixedspace.att;`_ parameter entity). It is a fixed attribute, meant
3062 to communicate to an XML parser that the element contains significant
3063 whitespace. The attribute value should not be set in a document
3067 ----------------------------
3068 Parameter Entity Reference
3069 ----------------------------
3071 .. contents:: :local:
3074 Parameter entities are used to simplify the DTD (to share definitions
3075 and reduce duplication) and to allow the DTD to be customized by
3076 wrapper DTDs (external client DTDs that use or import the Docutils
3077 DTD). Parameter entities may be overridden by wrapper DTDs, replacing
3078 the definitions below with custom definitions. Parameter entities
3079 whose names begin with "additional" are meant to allow easy extension
3086 The ``%anonymous.att;`` parameter entity contains the anonymous_
3087 attribute, used for unnamed hyperlinks.
3093 anonymous_ %yesorno; #IMPLIED
3095 The reference_ and target_ elements directly employ the
3096 ``%anonymous.att;`` parameter entity in their attribute lists.
3102 The ``%auto.att;`` parameter entity contains the auto_ attribute, used
3103 to indicate an automatically-numbered footnote or title.
3109 auto_ CDATA #IMPLIED
3111 The footnote_, footnote_reference_, and title_ elements directly
3112 employ the ``%auto.att;`` parameter entity in their attribute lists.
3118 The ``%backrefs.att;`` parameter entity contains the backrefs_
3119 attribute, a space-separated list of id references, for backlinks.
3125 backrefs_ IDREFS #IMPLIED
3127 The citation_, footnote_, and system_message_ elements directly employ
3128 the ``%backrefs.att;`` parameter entity in their attribute lists.
3134 The ``%basic.atts;`` parameter entity lists attributes common to all
3135 Docutils elements. See `Common Attributes`_.
3142 name_ NMTOKENS #IMPLIED
3143 dupname_ NMTOKENS #IMPLIED
3144 source_ CDATA #IMPLIED
3145 class_ NMTOKENS #IMPLIED
3146 %additional.basic.atts;
3148 The ``%additional.basic.atts;`` parameter entity can be used by
3149 wrapper DTDs to extend ``%basic.atts;``.
3152 ``%bibliographic.elements;``
3153 ============================
3155 The ``%bibliographic.elements;`` parameter entity contains an OR-list of all
3156 `bibliographic elements`_.
3162 author_ | authors_ | organization_ | contact_ | address_
3163 | version_ | revision_ | status_ | date_ | copyright_
3165 %additional.bibliographic.elements;
3167 The ``%additional.bibliographic.elements;`` parameter entity can be used by
3168 wrapper DTDs to extend ``%bibliographic.elements;``.
3170 Only the docinfo_ element directly employs the
3171 ``%bibliographic.elements;`` parameter entity in its content model.
3177 The ``%body.elements;`` parameter entity contains an OR-list of all
3178 `body elements`_. ``%body.elements;`` is itself contained within the
3179 `%structure.model;`_ parameter entity.
3185 paragraph_ | literal_block_ | doctest_block_ | line_block_
3186 | block_quote_ | table_ | figure_ | image_ | footnote_ | citation_
3187 | bullet_list_ | enumerated_list_ | definition_list_ | field_list_
3189 | attention_ | caution_ | danger_ | error_ | hint_ | important_
3190 | note_ | tip_ | warning_
3191 | target_ | substitution_definition_ | comment_ | pending_
3192 | system_message_ | raw_
3193 %additional.body.elements;
3195 The ``%additional.body.elements;`` parameter entity can be used by
3196 wrapper DTDs to extend ``%body.elements;``.
3198 The ``%body.elements;`` parameter entity is directly employed in the
3199 content models of the following elements: attention_, block_quote_,
3200 caution_, citation_, danger_, definition_, description_, entry_,
3201 error_, field_body_, footer_, footnote_, header_, hint_, important_,
3202 legend_, list_item_, note_, system_message_, tip_, topic_, warning_
3204 Via `%structure.model;`_, the ``%body.elements;`` parameter entity is
3205 indirectly employed in the content models of the document_ and
3209 ``%fixedspace.att;``
3210 ====================
3212 The ``%fixedspace.att;`` parameter entity contains the `xml:space`_
3213 attribute, a standard XML attribute for whitespace-preserving
3220 `xml:space`_ (default | preserve) #FIXED 'preserve'
3222 The ``%fixedspace.att;`` parameter entity is directly employed in the
3223 attribute lists of the following elements: address_, comment_,
3224 doctest_block_, line_block_, literal_block_, raw_
3227 ``%inline.elements;``
3228 =====================
3230 The ``%inline.elements;`` parameter entity contains an OR-list of all
3237 emphasis_ | strong_ | interpreted_ | literal_
3238 | reference_ | footnote_reference_ | citation_reference_
3239 | substitution_reference_ | problematic_ | generated_
3240 | target_ | image_ | raw_
3241 %additional.inline.elements;
3243 The ``%additional.inline.elements;`` parameter entity can be used by
3244 wrapper DTDs to extend ``%inline.elements;``.
3246 Via `%text.model;`_, the ``%inline.elements;`` parameter entity is
3247 indirectly employed in the content models of the following elements:
3248 address_, author_, caption_, classifier_, contact_, copyright_, date_,
3249 doctest_block_, emphasis_, generated_, interpreted_, line_block_,
3250 literal_block_, organization_, paragraph_, problematic_, raw_,
3251 reference_, revision_, status_, strong_, substitution_definition_,
3252 substitution_reference_, subtitle_, target_, term_, title_, version_
3255 ``%reference.atts;``
3256 ====================
3258 The ``%reference.atts;`` parameter entity groups together the refuri_,
3259 refid_, and refname_ attributes.
3268 %additional.reference.atts;
3270 The ``%additional.reference.atts;`` parameter entity can be used by
3271 wrapper DTDs to extend ``%additional.reference.atts;``.
3273 The citation_reference_, footnote_reference_, reference_, and target_
3274 elements directly employ the ``%reference.att;`` parameter entity in
3275 their attribute lists.
3281 The ``%refid.att;`` parameter entity contains the refid_ attribute, an
3282 internal reference to the `id`_ attribute of another element.
3288 refid_ CDATA #IMPLIED
3290 The title_ and problematic_ elements directly employ the
3291 ``%refid.att;`` parameter entity in their attribute lists.
3293 Via `%reference.atts;`_, the ``%refid.att;`` parameter entity is
3294 indirectly employed in the attribute lists of the citation_reference_,
3295 footnote_reference_, reference_, and target_ elements.
3301 The ``%refname.att;`` parameter entity contains the refname_
3302 attribute, an internal reference to the `name`_ attribute of another
3303 element. On a `target`_ element, ``refname`` indicates an indirect
3304 target which may resolve to either an internal or external
3311 refname_ NMTOKENS #IMPLIED
3313 The substitution_reference_ element directly employs the
3314 ``%refname.att;`` parameter entity in its attribute list.
3316 Via `%reference.atts;`_, the ``%refname.att;`` parameter entity is
3317 indirectly employed in the attribute lists of the citation_reference_,
3318 footnote_reference_, reference_, and target_ elements.
3324 The ``%refuri.att;`` parameter entity contains the refuri_ attribute,
3325 an external reference to a URI/URL.
3331 refuri_ CDATA #IMPLIED
3333 Via `%reference.atts;`_, the ``%refuri.att;`` parameter entity is
3334 indirectly employed in the attribute lists of the citation_reference_,
3335 footnote_reference_, reference_, and target_ elements.
3338 ``%section.elements;``
3339 ======================
3341 The ``%section.elements;`` parameter entity contains an OR-list of all
3342 section_-equivalent elements. ``%section.elements;`` is itself
3343 contained within the `%structure.model;`_ parameter entity.
3350 %additional.section.elements;
3352 The ``%additional.section.elements;`` parameter entity can be used
3353 by wrapper DTDs to extend ``%section.elements;``.
3355 Via `%structure.model;`_, the ``%section.elements;`` parameter entity
3356 is indirectly employed in the content models of the document_ and
3360 ``%structure.model;``
3361 =====================
3363 The ``%structure.model;`` parameter entity encapsulates the
3364 hierarchical structure of a document and of its constituent parts.
3365 See the discussion of the `element hierarchy`_ above.
3371 ( ( (`%body.elements;`_ | topic_)+,
3372 (transition_, (`%body.elements;`_ | topic_)+ )*,
3373 (`%section.elements;`_)* )
3374 | (`%section.elements;`_)+ )
3376 Each document_ or section_ contains either:
3378 - multiple body elements and/or topics, optionally interspersed with
3379 transitions (but transitions cannot occur at the beginning or end,
3380 nor may there be two transitions in a row), followed by zero or more
3383 - one or more sections (whose contents are recursively the same as this
3386 The `%structure.model;`_ parameter entity is directly employed in the
3387 content models of the document_ and section_ elements.
3393 The ``%text.model;`` parameter entity is used by many elements to
3394 represent text data mixed with `inline elements`_.
3400 (#PCDATA | `%inline.elements;`_)*
3402 The ``%text.model;`` parameter entity is directly employed in the
3403 content models of the following elements: address_, author_, caption_,
3404 classifier_, contact_, copyright_, date_, doctest_block_, emphasis_,
3405 generated_, interpreted_, line_block_, literal_block_, organization_,
3406 paragraph_, problematic_, raw_, reference_, revision_, status_,
3407 strong_, substitution_definition_, substitution_reference_, subtitle_,
3408 target_, term_, title_, version_
3415 indent-tabs-mode: nil
3416 sentence-end-double-space: t