<?xml version='1.0' encoding='UTF-8' ?>

<!-- Character mnemonic entities -->

<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
%HTMLspecial;

<!-- Generic tag entities -->

<!ENTITY % inlinetags "em | strong | code | a | br | directive | module | img
| cite | q | dfn | var | transnote">

<!ENTITY % blocktags "p | example | note | table | ul | ol | dl | pre
| 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)+>

<!-- 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, related?, (section | %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)+>

<!ELEMENT module (#PCDATA)>
<!ATTLIST module status CDATA  #IMPLIED>

<!ELEMENT directive (#PCDATA)>
<!ATTLIST directive  module CDATA  #IMPLIED
                     type   CDATA  #IMPLIED
                     status CDATA  #IMPLIED >

<!ELEMENT p %Inline;>
<!ATTLIST p class CDATA  #IMPLIED>

<!-- the indent element is used to indent code examples. example/indent and
     code/indent is now replacing pre. -->
<!ELEMENT indent ( #PCDATA | indent | %inlinetags; )*>

<!ELEMENT em %Inline;>

<!ELEMENT strong %Inline;>

<!ELEMENT code (#PCDATA | indent | %inlinetags;)*>

<!ELEMENT cite %Inline;>

<!ELEMENT q %Inline;>

<!ELEMENT dfn %Inline;>

<!ELEMENT var %Inline;>

<!-- translators note -->
<!ELEMENT transnote %Inline;>

<!ELEMENT a %Inline;>
<!ATTLIST a  href CDATA #IMPLIED
             name CDATA #IMPLIED
             id   CDATA #IMPLIED
             rel  CDATA #IMPLIED >

<!ELEMENT br EMPTY>

<!-- Note: The example and note elements should not have more then one
           title. -->
<!ELEMENT example (#PCDATA | title | indent | %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
                style       CDATA  #IMPLIED>

<!ELEMENT tr (th | td)+>
<!ATTLIST tr valign CDATA #IMPLIED >

<!ELEMENT th %BlockOrInline;>
<!ATTLIST th  colspan  CDATA  #IMPLIED
              rowspan  CDATA  #IMPLIED
              class    CDATA  #IMPLIED >

<!ELEMENT td %BlockOrInline;>
<!ATTLIST td  colspan  CDATA  #IMPLIED
              rowspan  CDATA  #IMPLIED
              class    CDATA  #IMPLIED >

<!ELEMENT ul (li+)>

<!ELEMENT ol (li+)>
<!ATTLIST ol type CDATA  #IMPLIED>

<!ELEMENT li %BlockOrInline;>
<!ATTLIST li class    CDATA   #IMPLIED >

<!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 %Block;>
<!ATTLIST blockquote cite CDATA #IMPLIED >

<!-- The path and title of the parent document -->
<!ELEMENT parentdocument (#PCDATA)>
<!ATTLIST parentdocument href CDATA #REQUIRED >
