--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+
+<!ENTITY nbsp " ">
+
+<!ENTITY % inlinetags "em | strong | code | a | br | directive | module">
+
+<!ENTITY % blocktags "p | example | note | table | ul | ol | dl | pre | img
+| blockquote">
+
+<!ENTITY % Block "(%blocktags;)*">
+
+<!ENTITY % Inline "(#PCDATA | %inlinetags;)*">
+
+<!ENTITY % BlockOrInline "(#PCDATA | %inlinetags; | %blocktags;)*">
+
+<!ELEMENT title %Inline;>
+
+<!ELEMENT summary %Block;>
+
+<!ELEMENT seealso %Inline;>
+
+<!ELEMENT modulelist (module)+>
+
+<!ELEMENT section (section | title | %blocktags;)*>
+
+<!ATTLIST section id CDATA #IMPLIED>
+
+<!ELEMENT module (#PCDATA)>
+
+<!ELEMENT directive (#PCDATA)>
+<!ATTLIST directive module CDATA #IMPLIED
+ type CDATA #IMPLIED >
+
+<!ELEMENT p %Inline;>
+
+<!ELEMENT em %Inline;>
+
+<!ELEMENT strong %Inline;>
+
+<!ELEMENT code %Inline;>
+
+<!ELEMENT a %Inline;>
+<!ATTLIST a href CDATA #IMPLIED
+ name CDATA #IMPLIED
+ id CDATA #IMPLIED
+ rel CDATA #IMPLIED >
+
+<!ELEMENT br EMPTY>
+
+<!ELEMENT example (#PCDATA | title | %inlinetags; | %blocktags;)*>
+
+<!ELEMENT note (#PCDATA | title | %inlinetags; | %blocktags;)*>
+<!ATTLIST note type CDATA #IMPLIED>
+
+<!ELEMENT table (tr)+>
+<!ATTLIST table summary CDATA #IMPLIED
+ width CDATA #IMPLIED
+ bgcolor CDATA #IMPLIED
+ cellspacing CDATA #IMPLIED
+ cellpadding CDATA #IMPLIED
+ border CDATA #IMPLIED >
+
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr valign CDATA #IMPLIED >
+
+<!ELEMENT th %BlockOrInline;>
+
+<!ELEMENT td %BlockOrInline;>
+<!ATTLIST td colspan CDATA #IMPLIED
+ rowspan CDATA #IMPLIED
+ bgcolor CDATA #IMPLIED
+ class CDATA #IMPLIED >
+
+<!ELEMENT ul (li+)>
+
+<!ELEMENT ol (li+)>
+<!ATTLIST ol type CDATA #IMPLIED>
+
+<!ELEMENT li %BlockOrInline;>
+
+<!ELEMENT dl (dd | dt)+>
+
+<!ELEMENT dt %Inline;>
+
+<!ELEMENT dd %BlockOrInline;>
+
+<!ELEMENT pre %Inline;>
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ src CDATA #REQUIRED
+ alt CDATA #REQUIRED
+ border CDATA #IMPLIED
+ height CDATA #IMPLIED
+ width CDATA #IMPLIED >
+
+<!ELEMENT blockquote %BlockOrInline;>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+
+<!ENTITY % common SYSTEM "common.dtd">
+%common;
+
+<!-- <manualpage> is the root element -->
+<!ELEMENT manualpage (title, summary?, seealso*, section*)>
+
+<!-- a page may have one or more sections. Each section is named by an
+ unique id. A section must have a title and some text. It may have
+ subsections and a list of related modules and directives -->
+<!ELEMENT section (title, (section | related | %blocktags;)*)>
+<!ATTLIST section id ID #IMPLIED>
+
+<!-- the lists of related modules and/or related directives -->
+<!ELEMENT related (modulelist | directivelist)+>
+
+<!-- list of related directives -->
+<!ELEMENT directivelist (directive)+>
\ No newline at end of file
<?xml version='1.0' encoding='UTF-8' ?>
-<!ENTITY nbsp " ">
-
-<!ENTITY % inlinetags "em | strong | code | a | br | directive | module">
-
-<!ENTITY % blocktags "p | example | note | table | ul | ol | dl | pre | img
-| blockquote">
-
-<!ENTITY % Block "(%blocktags;)*">
-
-<!ENTITY % Inline "(#PCDATA | %inlinetags;)*">
-
-<!ENTITY % BlockOrInline "(#PCDATA | %inlinetags; | %blocktags;)*">
+<!ENTITY % common SYSTEM "common.dtd">
+%common;
<!ELEMENT modulesynopsis (name , description, status , sourcefile?,
identifier? , compatibility? , summary? , seealso* , section*,
<!ELEMENT description %Inline;>
-<!ELEMENT section (section | title | %blocktags;)*>
-
-<!ATTLIST section id CDATA #IMPLIED>
-
-<!ELEMENT module (#PCDATA)>
-
-<!ELEMENT example (#PCDATA | title | %inlinetags; | %blocktags;)*>
-
-<!ELEMENT seealso %Inline;>
-
-<!ELEMENT a %Inline;>
-
-<!ATTLIST a href CDATA #IMPLIED
- name CDATA #IMPLIED
- id CDATA #IMPLIED
- rel CDATA #IMPLIED >
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
- src CDATA #REQUIRED
- alt CDATA #REQUIRED
- border CDATA #IMPLIED
- height CDATA #IMPLIED
- width CDATA #IMPLIED >
-
<!ATTLIST directivesynopsis type CDATA #IMPLIED
location CDATA #IMPLIED >
<!ELEMENT contextlist (context+)+>
-<!ELEMENT modulelist (module)+>
-
<!ELEMENT context (#PCDATA)>
<!ELEMENT override (#PCDATA)>
-<!ELEMENT note (#PCDATA | title | %inlinetags; | %blocktags;)*>
-<!ATTLIST note type CDATA #IMPLIED>
-
-<!ELEMENT title %Inline;>
-
-<!ELEMENT p %Inline;>
-
-<!ELEMENT ul (li+)>
-
-<!ELEMENT ol (li+)>
-<!ATTLIST ol type CDATA #IMPLIED>
-
-<!ELEMENT li %BlockOrInline;>
-
-<!ELEMENT strong %Inline;>
-
-<!ELEMENT br EMPTY>
-
-<!ELEMENT table (tr)+>
-<!ATTLIST table summary CDATA #IMPLIED
- width CDATA #IMPLIED
- bgcolor CDATA #IMPLIED
- cellspacing CDATA #IMPLIED
- cellpadding CDATA #IMPLIED
- border CDATA #IMPLIED >
-
-<!ELEMENT tr (th | td)+>
-<!ATTLIST tr valign CDATA #IMPLIED >
-
-<!ELEMENT td %BlockOrInline;>
-
-<!ELEMENT th %BlockOrInline;>
-
-<!ATTLIST td colspan CDATA #IMPLIED
- rowspan CDATA #IMPLIED
- bgcolor CDATA #IMPLIED
- class CDATA #IMPLIED >
-<!ELEMENT directive (#PCDATA)>
-
-<!ATTLIST directive module CDATA #IMPLIED
- type CDATA #IMPLIED >
-
-<!ELEMENT code %Inline;>
-
-<!ELEMENT dl (dd | dt)+>
-
-<!ELEMENT dt %Inline;>
-
-<!ELEMENT dd %BlockOrInline;>
-
-<!ELEMENT em %Inline;>
-
<!ELEMENT usage %Block;>
-<!ELEMENT summary %Block;>
-
-<!ELEMENT blockquote %BlockOrInline;>
-
-<!ELEMENT pre %Inline;>
-
<!-- Used in allmodules.xml -->
<!ELEMENT modulefilelist (modulefile+)>
<!ELEMENT modulefile (#PCDATA)>