<!-- $Id: texinfo.dtd 6241 2015-05-03 23:18:07Z karl $
  Document Type Definition for Texinfo XML output (the '-'-xml option).

  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
  2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.

  As soon as this file is nontrivially modified, update
  TEXINFO_DTD_VERSION in configure.ac (if not already done).
  See comments there for explanation.
  
  Email bug-texinfo@gnu.org with any discussion.
  (Original author: Philippe Martin.)
-->

<!-- * ENTITIES * -->

<!-- Meta-information -->
<!-- copying | titlepage could be there too -->
<!ENTITY % metainformation "setfilename | settitle | dircategory | direntry
                            | hyphenation
                            | documentdescription 
                            | shorttitlepage">
<!ENTITY % variable.cmds "set | clear">

<!-- Unique options -->
<!ENTITY % unique.option.cmds "novalidate | setcontentsaftertitlepage 
   | setshortcontentsaftertitlepage | documentencoding 
   | everyheadingmarks | everyfootingmarks | evenheadingmarks | oddheadingmarks
   | evenfootingmarks | oddfootingmarks | fonttextsize | pagesizes
   | setchapternewpage | footnotestyle | finalout

   | allowcodebreaks | exampleindent | afourpaper 
   | afivepaper | afourlatex | afourwide | headings
   | everyheading | everyfooting | evenheading | evenfooting | oddheading
   | oddfooting | smallbook | cropmarks">

<!-- Global options in the main text -->
<!ENTITY % global.option.cmds "synindex | syncodeindex
  | defindex | defcodeindex | definfoenclose | alias">

<!-- Options -->
<!ENTITY % multiple.option.cmds "frenchspacing | documentlanguage 
    | %variable.cmds; | kbdinputstyle | paragraphindent 
    | firstparagraphindent | urefbreakstyle | xrefautomaticsectiontitle
    | deftypefnnewline
    | codequoteundirected | codequotebacktick | raisesections
    | lowersections | clickstyle">

<!ENTITY % option.cmds "%unique.option.cmds; | %global.option.cmds; 
               | %multiple.option.cmds;">

<!-- ToC -->
<!ENTITY % toc "contents | shortcontents | summarycontents">

<!-- Title page -->
<!ENTITY % titlepage.cmds "author | title | subtitle">

<!-- index entry commands -->
<!ENTITY % indexentry.cmds "cindex | findex | kindex | pindex | tindex
  | vindex | indexcommand">

<!-- API definition commands -->
<!ENTITY % def.cmds "deffn | defvr | deftypefn | deftypeop | deftypevr
      | defcv | deftypecv | defop | deftp | defun | defmac 
      | defspec | defvar | defopt | deftypefun | deftypevar 
      | defivar | deftypeivar | defmethod | deftypemethod">

<!ENTITY % raw.cmds "html | tex | docbook | xml | macro | rmacro | ignore">

<!-- Commands that appear everywhere, both with block and in paragraphs -->
<!-- include is in general absent, since it is replaced, but it is
     present if the file was not found -->
<!ENTITY % ubiquitous.cmds "sp | anchor | indent | noindent | %raw.cmds; 
                 | %option.cmds; | errormsg | unmacro | include
                 | %indexentry.cmds; | refill | quote-arg | allow-recursion">

<!-- Block -->
<!ENTITY % block "menu | para | pre | quotation | smallquotation
                  | example | smallexample | lisp | smalllisp
                  | cartouche | float | format | smallformat
                  | display | smalldisplay | copying | titlepage
                  | raggedright | flushleft | flushright
                  | itemize | enumerate | titlefont | center | group
                  | table | vtable | ftable | multitable | definition 
                  | image
                  | %def.cmds; 
                  | %ubiquitous.cmds;
                  | verbatim | verbatiminclude | insertcopying | page | need
                  | vskip
                  | listoffloats">

<!-- API definition line -->
<!ENTITY % definition.args "defcategory | deffunction | defvariable | defparam
                          | defdelimiter | deftype | defparamtype | defdatatype
                          | defclass | defclassvar | defoperation">

<!-- Headings -->
<!ENTITY % heading.cmds "majorheading | chapheading | heading | subheading
                     | subsubheading">

<!-- Language codes -->
<!ENTITY % languagecodes "aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|da|de|dz|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|he|hi|hr|hu|hy|ia|id|ie|ik|is|it|iu|ja|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ug|uk|ur|uz|vi|vo|wo|xh|yi|yo|za|zh|zu">

<!-- Sectioning -->
<!ENTITY % section.level1 "top | part | chapter | unnumbered | centerchap | appendix">

<!ENTITY % section.level2 "section | unnumberedsec | appendixsec">

<!ENTITY % section.level3 "subsection | unnumberedsubsec | appendixsubsec">

<!ENTITY % section.level4 "subsubsection | unnumberedsubsubsec 
                           | appendixsubsubsec">

<!ENTITY % section.all "%section.level1; | %section.level2; | %section.level3;
                        | %section.level4;">


<!-- toplevel content, not in copying nor footnote -->
<!ENTITY % main.content "%block; | %toc; | node | %heading.cmds; 
                         | printindex">

<!ENTITY % section.level0.content "(%main.content;
                                   | %section.level1;
                                   | %section.level2;
                                   | %section.level3;
                                   | %section.level4;)*">


<!ENTITY % section.level1.content "(%main.content;
                                   | %section.level2;
                                   | %section.level3;
                                   | %section.level4;)*">

<!ENTITY % section.level2.content "(%main.content;
                                   | %section.level3;
                                   | %section.level4;)*">

<!ENTITY % section.level3.content "(%main.content;
                                   | %section.level4;)*">

<!ENTITY % section.level4.content "(%main.content;)*">

<!-- Inline -->
<!ENTITY % Inline.emphasize "strong | emph">
<!ENTITY % Inline.fonts "b | i | r | sansserif | slanted | t
                         | sc">
<!ENTITY % Inline.footnote "footnote">
<!ENTITY % Inline.markup "code | command | env | file | option | samp | verb
                          | dfn | cite | key | kbd | var | acronym | abbr
                          | indicateurl | w | asis | sub | sup "> 
<!ENTITY % Inline.math "math | dmn">
<!ENTITY % Inline.reference "xref | ref | pxref | inforef | email | uref | url">
<!ENTITY % Inline.misc "click | clicksequence | logo | punct | spacecmd | today
                        | linebreak | accent | dotless | ctrl | inlineraw 
                        | inlinefmt | inlinefmtifelse | inlineifclear 
                        | inlineifset | infoenclose | noeos | formfeed ">

<!-- on lines -->
<!ENTITY % Inline.linetext "%Inline.emphasize; | %Inline.misc; | %Inline.fonts;
          | %Inline.markup; | %Inline.math; | %Inline.reference;
          | %Inline.footnote;" >
<!ENTITY % Inline.line "%Inline.linetext; | image">
<!ENTITY % Inline.fullline "%Inline.line; | titlefont | anchor">

<!-- in paragraphs -->
<!ENTITY % Inline.phrase
           "%Inline.line; | %ubiquitous.cmds;">

<!-- in raw (everything except sectioning commands) -->
<!ENTITY % Raw.content "#PCDATA | %titlepage.cmds; | %block; | %heading.cmds; 
           | %Inline.linetext; | exdent | %toc; | printindex 
           | %metainformation;">

<!-- arguments/attribute values. Many are missing -->
<!ENTITY % onoff "on|off">
<!ENTITY % spacetype "spc|tab|nl">
<!ENTITY % topbottom "top|bottom">
<!ENTITY % zeroone "0|1">

<!-- ubiquitous attribute -->
<!ENTITY % spacesattr
  "spaces CDATA #IMPLIED">
<!ENTITY % lineattr
  "line CDATA #IMPLIED">
<!ENTITY % bracketedattr
  "bracketed (%onoff;) #IMPLIED">
<!-- block commands that have spaces also have endspaces -->
<!-- this is also used for commands without arguments 
     when they have a @comment on their line -->
<!ENTITY % spacesblockattr 
          "%spacesattr; 
           endspaces CDATA #IMPLIED">

<!-- ELEMENTS -->

<!-- TOP Level Element -->
<!ELEMENT texinfo (filename?, preamble?, (%metainformation;
                    | %section.all; | %main.content;)*, bye?)>
<!ATTLIST texinfo xml:lang (%languagecodes;) 'en'>

<!-- meta-information -->
<!ELEMENT filename EMPTY>
<!ATTLIST filename
          file   CDATA #IMPLIED>
<!ELEMENT setfilename (#PCDATA  | %Inline.line;)*>
<!ATTLIST setfilename
          %spacesattr;
          file   CDATA #IMPLIED>
<!ELEMENT settitle        (#PCDATA | %Inline.line;)*>
<!ATTLIST settitle
          %spacesattr;>
<!ELEMENT shorttitlepage  (#PCDATA | %Inline.line;)*>
<!ATTLIST shorttitlepage
          %spacesattr;>
<!ELEMENT dircategory     (#PCDATA | %Inline.line;)*>
<!ATTLIST dircategory
          %spacesattr;>

<!ELEMENT set    (#PCDATA)>
<!ATTLIST set
          %lineattr;
          name CDATA #REQUIRED>
<!ELEMENT clear  EMPTY>
<!ATTLIST clear
          %lineattr;
          name CDATA #REQUIRED>
<!ELEMENT unmacro  EMPTY>
<!ATTLIST unmacro
          %lineattr;
          name CDATA #REQUIRED>
<!ELEMENT definfoenclose EMPTY>
<!ATTLIST definfoenclose 
          %lineattr;
          command  NMTOKEN #REQUIRED
          open     CDATA   #IMPLIED
          close    CDATA   #IMPLIED>
<!ELEMENT alias          EMPTY>
<!ATTLIST alias
          %lineattr;
          new       NMTOKEN #REQUIRED
          existing  NMTOKEN #REQUIRED>
<!ELEMENT clickstyle  (#PCDATA)>
<!ATTLIST clickstyle
          %lineattr;
          command  NMTOKEN #REQUIRED>

<!-- preamble -->
<!ELEMENT preamble (#PCDATA)>

<!-- ToC -->
<!ELEMENT contents      EMPTY>
<!ATTLIST contents
          %lineattr;>
<!ELEMENT shortcontents EMPTY>
<!ATTLIST shortcontents
          %lineattr;>
<!ELEMENT summarycontents EMPTY>
<!ATTLIST summarycontents
          %lineattr;>

<!-- Global unique options -->
<!ELEMENT novalidate EMPTY>
<!ATTLIST novalidate
          %lineattr;>
<!ELEMENT setcontentsaftertitlepage EMPTY>
<!ATTLIST setcontentsaftertitlepage
          %lineattr;>
<!ELEMENT setshortcontentsaftertitlepage EMPTY>
<!ATTLIST setshortcontentsaftertitlepage
          %lineattr;>
<!ELEMENT documentencoding (#PCDATA)>
<!ATTLIST documentencoding
          %spacesattr;
          encoding CDATA #REQUIRED>
<!ELEMENT everyheadingmarks EMPTY>
<!ATTLIST everyheadingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!ELEMENT everyfootingmarks EMPTY>
<!ATTLIST everyfootingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!ELEMENT evenheadingmarks EMPTY>
<!ATTLIST evenheadingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!ELEMENT oddheadingmarks EMPTY>
<!ATTLIST oddheadingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!ELEMENT evenfootingmarks EMPTY>
<!ATTLIST evenfootingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!ELEMENT oddfootingmarks EMPTY>
<!ATTLIST oddfootingmarks
          %lineattr;
          value (%topbottom;) #REQUIRED>
<!-- "10|11" -->
<!ELEMENT fonttextsize  EMPTY>
<!ATTLIST fonttextsize
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT pagesizes (#PCDATA)>
<!ATTLIST pagesizes
          %spacesattr;>
<!ELEMENT setchapternewpage  EMPTY>
<!-- "off|on|odd" -->
<!ATTLIST setchapternewpage
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT footnotestyle      EMPTY>
<!-- "end|separate" -->
<!ATTLIST footnotestyle
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT allowcodebreaks    EMPTY>
<!-- "false|true" -->
<!ATTLIST allowcodebreaks
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT exampleindent      EMPTY>
<!ATTLIST exampleindent
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT afourpaper      EMPTY>
<!ATTLIST afourpaper
          %lineattr;>
<!ELEMENT afivepaper      EMPTY>
<!ATTLIST afivepaper
          %lineattr;>
<!ELEMENT afourlatex      EMPTY>
<!ATTLIST afourlatex
          %lineattr;>
<!ELEMENT afourwide       EMPTY>
<!ATTLIST afourwide
          %lineattr;>
<!ELEMENT finalout        EMPTY>
<!ATTLIST finalout
          %lineattr;>
<!ELEMENT headings        EMPTY>
<!-- "off|on|single|double|singleafter|doubleafter" -->
<!ATTLIST headings
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT everyheading (#PCDATA)>
<!ELEMENT everyfooting (#PCDATA)>
<!ELEMENT evenheading (#PCDATA)>
<!ELEMENT evenfooting (#PCDATA)>
<!ELEMENT oddheading (#PCDATA)>
<!ELEMENT oddfooting (#PCDATA)>
<!ELEMENT vskip (#PCDATA)>
<!ELEMENT smallbook       EMPTY>
<!ATTLIST smallbook
          %lineattr;>
<!ELEMENT cropmarks       EMPTY>
<!ATTLIST cropmarks
          %lineattr;>

<!-- Global options -->
<!ELEMENT documentlanguage (#PCDATA)>
<!ATTLIST documentlanguage 
          %spacesattr;
          xml:lang (%languagecodes;) 'en'>
<!ELEMENT frenchspacing (#PCDATA)> <!-- must be on or off -->
<!ATTLIST frenchspacing 
          %lineattr;
          value (%onoff;) 'off'>
<!ELEMENT kbdinputstyle   EMPTY>
<!-- "code|example|distinct" -->
<!ATTLIST kbdinputstyle
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT paragraphindent EMPTY>
<!ATTLIST paragraphindent
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT firstparagraphindent EMPTY>
<!ATTLIST firstparagraphindent
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT urefbreakstyle  EMPTY>
<!-- "after|before|none" -->
<!ATTLIST urefbreakstyle
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT xrefautomaticsectiontitle EMPTY>
<!ATTLIST xrefautomaticsectiontitle
          %lineattr;
          value (%onoff;) #REQUIRED>
<!ELEMENT deftypefnnewline EMPTY>
<!ATTLIST deftypefnnewline
          %lineattr;
          value (%onoff;) #REQUIRED>
<!ELEMENT codequoteundirected EMPTY>
<!ATTLIST codequoteundirected
          %lineattr;
          value (%onoff;) #REQUIRED>
<!ELEMENT codequotebacktick EMPTY>
<!ATTLIST codequotebacktick
          %lineattr;
          value (%onoff;) #REQUIRED>
<!ELEMENT raisesections   EMPTY>
<!ATTLIST raisesections
          %lineattr;>
<!ELEMENT lowersections   EMPTY>
<!ATTLIST lowersections
          %lineattr;>

<!-- Titlepage and copying -->
<!ELEMENT copying    (%block; | %heading.cmds;)*>
<!ATTLIST copying
          %spacesblockattr;>
<!ELEMENT insertcopying EMPTY>

<!ELEMENT titlepage  (%titlepage.cmds; | %block; | %heading.cmds;)*>
<!ATTLIST titlepage
          %spacesblockattr;>
<!ELEMENT author     (#PCDATA | %Inline.line;)*>
<!ATTLIST author
          %spacesattr;>
<!ELEMENT title      (#PCDATA | %Inline.line;)*>
<!ATTLIST title
          %spacesattr;>
<!ELEMENT subtitle   (#PCDATA | %Inline.line;)*>
<!ATTLIST subtitle
          %spacesattr;>

<!-- Formatting -->
<!ELEMENT sp EMPTY>
<!ATTLIST sp
          %lineattr;
          value CDATA #IMPLIED>
<!ELEMENT page EMPTY>
<!ATTLIST page
          %lineattr;>
<!ELEMENT need EMPTY>
<!ATTLIST need
          %lineattr;
          value CDATA #REQUIRED>
<!ELEMENT indent   EMPTY>
<!ELEMENT noindent EMPTY>

<!-- emacs-page
<!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?,
                (%section.all; | %main.content;)*) >
     Nodes -->
<!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?)>
<!ATTLIST node
          %spacesattr;
          name CDATA #IMPLIED>

<!ELEMENT nodename (#PCDATA | %Inline.line;)*>
<!ATTLIST nodename
          trailingspaces CDATA #IMPLIED>
<!ELEMENT nodenext (#PCDATA | %Inline.line;)*>
<!ATTLIST nodenext
          %spacesattr;
          trailingspaces CDATA #IMPLIED
          automatic (%onoff;) 'off'>
<!ELEMENT nodeprev (#PCDATA | %Inline.line;)*>
<!ATTLIST nodeprev
          %spacesattr;
          trailingspaces CDATA #IMPLIED
          automatic (%onoff;) 'off'>
<!ELEMENT nodeup   (#PCDATA | %Inline.line;)*>
<!ATTLIST nodeup
          %spacesattr;
          trailingspaces CDATA #IMPLIED
          automatic (%onoff;) 'off'>

<!ENTITY % sectionsattr
  "%spacesattr;
   originalcommand CDATA #IMPLIED">
<!-- Sectioning -->
<!ELEMENT top           (sectiontitle?, (%section.level0.content;))>
<!ATTLIST top
          %sectionsattr;>
<!ELEMENT part          (sectiontitle?, (%section.level0.content;))>
<!ATTLIST part
          %sectionsattr;>

<!ELEMENT chapter       (sectiontitle?, (%section.level1.content;))>
<!ATTLIST chapter
          %sectionsattr;>
<!ELEMENT section       (sectiontitle?, (%section.level2.content;))>
<!ATTLIST section
          %sectionsattr;>
<!ELEMENT subsection    (sectiontitle?, (%section.level3.content;))>
<!ATTLIST subsection
          %sectionsattr;>
<!ELEMENT subsubsection (sectiontitle?, (%section.level4.content;))>
<!ATTLIST subsubsection
          %sectionsattr;>

<!ELEMENT unnumbered          (sectiontitle?, (%section.level1.content;))>
<!ATTLIST unnumbered
          %sectionsattr;>
<!ELEMENT unnumberedsec       (sectiontitle?, (%section.level2.content;))>
<!ATTLIST unnumberedsec
          %sectionsattr;>
<!ELEMENT unnumberedsubsec    (sectiontitle?, (%section.level3.content;))>
<!ATTLIST unnumberedsubsec
          %sectionsattr;>
<!ELEMENT unnumberedsubsubsec (sectiontitle?, (%section.level4.content;))>
<!ATTLIST unnumberedsubsubsec
          %sectionsattr;>
<!ELEMENT centerchap          (sectiontitle?, (%section.level1.content;))>
<!ATTLIST centerchap
          %sectionsattr;>

<!ELEMENT appendix          (sectiontitle?, (%section.level1.content;))>
<!ATTLIST appendix
          %sectionsattr;>
<!ELEMENT appendixsec       (sectiontitle?, (%section.level2.content;))>
<!ATTLIST appendixsec
          %sectionsattr;>
<!ELEMENT appendixsubsec    (sectiontitle?, (%section.level3.content;))>
<!ATTLIST appendixsubsec
          %sectionsattr;>
<!ELEMENT appendixsubsubsec (sectiontitle?, (%section.level4.content;))>
<!ATTLIST appendixsubsubsec
          %sectionsattr;>

<!-- Headings and titles -->
<!ELEMENT majorheading  (#PCDATA | %Inline.line;)*>
<!ATTLIST majorheading
          %spacesattr;>
<!ELEMENT chapheading   (#PCDATA | %Inline.line;)*>
<!ATTLIST chapheading
          %spacesattr;>
<!ELEMENT heading       (#PCDATA | %Inline.line;)*>
<!ATTLIST heading
          %spacesattr;>
<!ELEMENT subheading    (#PCDATA | %Inline.line;)*>
<!ATTLIST subheading
          %spacesattr;>
<!ELEMENT subsubheading (#PCDATA | %Inline.line;)*>
<!ATTLIST subsubheading
          %spacesattr;>
<!ELEMENT sectiontitle  (#PCDATA | %Inline.line;)*>


<!-- emacs-page
     Block elements -->

<!ELEMENT quotation    (quotationtype?, (%block; | exdent | author)*)>
<!ATTLIST quotation
          %spacesblockattr;>
<!ELEMENT smallquotation    (quotationtype?, (%block; | exdent | author)*)>
<!ATTLIST smallquotation
          %spacesblockattr;>
<!ELEMENT quotationtype (#PCDATA | %Inline.line;)*>

<!ELEMENT documentdescription (%block;)*>
<!ATTLIST documentdescription
          %spacesblockattr;>
<!ELEMENT example      (%block; | exdent)*>
<!ATTLIST example
          %spacesblockattr;>
<!ELEMENT smallexample (%block; | exdent)*>
<!ATTLIST smallexample
          %spacesblockattr;>
<!ELEMENT lisp         (%block; | exdent)*>
<!ATTLIST lisp
          %spacesblockattr;>
<!ELEMENT smalllisp    (%block; | exdent)*>
<!ATTLIST smalllisp
          %spacesblockattr;>
<!ELEMENT cartouche    (%block; | exdent)*>
<!ATTLIST cartouche
          %spacesblockattr;>
<!ELEMENT format       (%block; | exdent)*>
<!ATTLIST format
          %spacesblockattr;>
<!ELEMENT smallformat  (%block; | exdent)*>
<!ATTLIST smallformat
          %spacesblockattr;>
<!ELEMENT display      (%block; | exdent)*>
<!ATTLIST display
          %spacesblockattr;>
<!ELEMENT smalldisplay (%block; | exdent)*>
<!ATTLIST smalldisplay
          %spacesblockattr;>
<!ELEMENT group        (%block; | exdent)*>
<!ATTLIST group
          %spacesblockattr;>
<!ELEMENT flushleft    (%block; | exdent)*>
<!ATTLIST flushleft
          %spacesblockattr;>
<!ELEMENT flushright   (%block; | exdent)*>
<!ATTLIST flushright
          %spacesblockattr;>
<!ELEMENT raggedright  (%block; | exdent)*>
<!ATTLIST raggedright
          %spacesblockattr;>

<!ELEMENT center       (#PCDATA | %Inline.fullline;)*>
<!ATTLIST center
          %spacesattr;>

<!ELEMENT image        (imagefile, imagewidth?, imageheight?, alttext?,
                        imageextension?)>
<!ATTLIST image
          %spacesattr;
          where      CDATA #IMPLIED>
<!ELEMENT imagefile       (#PCDATA | %Inline.line;)*>
<!ELEMENT imagewidth      (#PCDATA)>
<!ATTLIST imagewidth
          %spacesattr;>
<!ELEMENT imageheight     (#PCDATA)>
<!ATTLIST imageheight
          %spacesattr;>
<!ELEMENT alttext         (#PCDATA | %Inline.line;)*>
<!ATTLIST alttext
          %spacesattr;>
<!ELEMENT imageextension  (#PCDATA)>
<!ATTLIST imageextension
          %spacesattr;>

<!-- Whitespace in these elements are always preserved -->
<!ELEMENT verbatim     (#PCDATA)>
<!ATTLIST verbatim 
          %spacesattr;
          xml:space (preserve) #FIXED 'preserve'>

<!-- author is there because it may happen in a quotation para -->
<!ELEMENT para         (#PCDATA | %Inline.phrase; | author)*>
<!ATTLIST para
          role CDATA #IMPLIED>
<!ELEMENT pre          (#PCDATA | %Inline.phrase; | author)*>
<!ATTLIST pre          xml:space (preserve) #FIXED 'preserve'>

<!ELEMENT menu (menuentry | detailmenu | menucomment)*>
<!ATTLIST menu
          %spacesblockattr;>
<!ELEMENT detailmenu (menuentry | menucomment)*>
<!ATTLIST detailmenu
          %spacesblockattr;>
<!ELEMENT direntry (menuentry | menucomment)*>
<!ATTLIST direntry
          %spacesblockattr;>
<!ELEMENT menuentry (menutitle?, menunode?, menudescription?)>
<!ATTLIST menuentry
          leadingtext CDATA #REQUIRED>
<!ELEMENT menunode (#PCDATA | %Inline.line;)*>
<!ATTLIST menunode
          separator CDATA #IMPLIED>
<!ELEMENT menutitle (#PCDATA | %Inline.line;)*>
<!ATTLIST menutitle
          separator CDATA #IMPLIED>
<!ELEMENT menudescription (%block;)*>
<!ELEMENT menucomment (%block;)*>

<!-- Raw formats -->
<!ELEMENT docbook (%Raw.content;)*>
<!ATTLIST docbook
          %spacesblockattr;>
<!ELEMENT html (%Raw.content;)*>
<!ATTLIST html
          %spacesblockattr;>
<!ELEMENT tex (%Raw.content;)*>
<!ATTLIST tex
          %spacesblockattr;>
<!-- this may happen if xml is not expanded -->
<!ELEMENT xml (%Raw.content;)*>
<!ATTLIST xml
          %spacesblockattr;>

<!-- formalarg only before PCDATA, but mandating it seems not possible -->
<!-- same issue for nesting macros -->
<!ELEMENT macro (#PCDATA | formalarg | macro | rmacro)*>
<!ATTLIST macro
          name CDATA #REQUIRED
          line CDATA #REQUIRED>
<!ELEMENT rmacro (#PCDATA | formalarg | macro | rmacro)*>
<!ATTLIST rmacro
          name CDATA #REQUIRED
          line CDATA #REQUIRED>

<!ELEMENT formalarg (#PCDATA)>

<!ELEMENT ignore (#PCDATA)>

<!-- Negative indentation in blocks -->
<!ELEMENT exdent       (#PCDATA | %Inline.fullline;)*>
<!ATTLIST exdent
          %spacesattr;>

<!ELEMENT verbatiminclude (#PCDATA)>
<!ATTLIST verbatiminclude
          %spacesattr;
          file CDATA #REQUIRED>

<!ELEMENT include (#PCDATA)>
<!ATTLIST include
          %spacesattr;>

<!-- Floating displays -->
<!ELEMENT float (floattype?, floatname?, (%block;)*,
                (caption | shortcaption)*)>
<!ATTLIST float
          %spacesblockattr;
          number CDATA #IMPLIED
          name CDATA #IMPLIED
          type CDATA #IMPLIED>
<!ELEMENT floattype (#PCDATA | %Inline.line;)*>
<!ELEMENT floatname (#PCDATA | %Inline.line;)*>
<!ATTLIST floatname
          %spacesattr;>
<!ELEMENT caption (#PCDATA | %block;)*>
<!ATTLIST caption
          %spacesattr;>
<!ELEMENT shortcaption (#PCDATA | %Inline.phrase; | para)*>
<!ELEMENT listoffloats (#PCDATA | %Inline.line;)*>
<!ATTLIST listoffloats
          %spacesattr;
          type CDATA #IMPLIED>

<!-- Lists -->
<!ELEMENT itemize (itemprepend?, beforefirstitem?, 
                   (listitem | %indexentry.cmds;)*)>
<!ATTLIST itemize
          %spacesblockattr;
          commandarg CDATA #IMPLIED>
<!ELEMENT enumerate (enumeratefirst?, beforefirstitem?,
                     (listitem | %indexentry.cmds;)*)>
<!ATTLIST enumerate
          %spacesblockattr;
          first CDATA #IMPLIED>
<!ELEMENT enumeratefirst (#PCDATA)>

<!ELEMENT listitem (prepend?, (%block;)*)>
<!ATTLIST listitem
          %spacesattr;>
<!ELEMENT prepend (#PCDATA | %Inline.line;)*>

<!ELEMENT itemprepend (#PCDATA | %Inline.line; | formattingcommand)*>
<!ELEMENT formattingcommand EMPTY>
<!ATTLIST formattingcommand
          command CDATA #REQUIRED>
<!ELEMENT beforefirstitem (%block;)*>

<!-- Tables -->
<!ELEMENT table (beforefirstitem?, (tableentry | %indexentry.cmds;)+)>

<!ENTITY % blocktablearg
         "%spacesblockattr;
          commandarg CDATA #IMPLIED
          begin CDATA #IMPLIED
          end CDATA #IMPLIED">

<!-- begin and end are for definfoenclose command as table argument -->
<!ATTLIST table
          %blocktablearg;>
<!ELEMENT vtable (beforefirstitem?, (tableentry | %indexentry.cmds;)+)>
<!ATTLIST vtable
          %blocktablearg;>
<!ELEMENT ftable (beforefirstitem?, (tableentry | %indexentry.cmds;)+)>
<!ATTLIST ftable
          %blocktablearg;>
<!ELEMENT tableentry (tableterm, tableitem?)>
<!-- tableterm contains directly pre if there is an index entry before @itemx -->
<!ELEMENT tableterm (item,  (pre | itemx | %indexentry.cmds;)*)>
<!ELEMENT item (#PCDATA | %Inline.line; | itemformat | indexterm)*>
<!ATTLIST item
          %spacesattr;>
<!ELEMENT itemx (#PCDATA | %Inline.line; | itemformat | indexterm)*>
<!ATTLIST itemx
          %spacesattr;>
<!ELEMENT itemformat (#PCDATA | %Inline.line; | indexterm)*>
<!-- begin and end are for definfoenclose command for item content -->
<!ATTLIST itemformat
          command   CDATA #REQUIRED
          begin CDATA #IMPLIED
          end CDATA #IMPLIED>
<!ELEMENT tableitem (%block;)*>

<!ELEMENT multitable ((columnfractions | columnprototypes), beforefirstitem?, 
                      thead?, tbody)>
<!ATTLIST multitable
          %blocktablearg;>
<!ELEMENT columnfractions (columnfraction+)>
<!ATTLIST columnfractions
          %lineattr;>
<!ELEMENT columnprototypes (columnprototype+)>
<!ELEMENT columnfraction EMPTY>
<!ATTLIST columnfraction
          value CDATA #REQUIRED>
<!ELEMENT columnprototype (#PCDATA | %Inline.line;)*>
<!ATTLIST columnprototype
          %spacesattr;
          %bracketedattr;>
<!ELEMENT thead (row+)>
<!ELEMENT tbody (row+)>
<!ELEMENT row (entry*)>
<!ELEMENT entry (%block;)*>
<!ATTLIST entry
          %spacesattr;
          command   CDATA #REQUIRED>

<!-- API definitions -->

<!-- def* contains directly pre if there is an index entry before def*x -->
<!ELEMENT deffn (definitionterm, (pre | deffnx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deffn
          %spacesblockattr;>
<!ELEMENT deffnx (definitionterm)>
<!ATTLIST deffnx
          %spacesattr;>
<!ELEMENT defvr (definitionterm, (pre | defvrx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defvr
          %spacesblockattr;>
<!ELEMENT defvrx (definitionterm)>
<!ATTLIST defvrx
          %spacesattr;>
<!ELEMENT deftypefn (definitionterm, (pre | deftypefnx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypefn
          %spacesblockattr;>
<!ELEMENT deftypefnx (definitionterm)>
<!ATTLIST deftypefnx
          %spacesattr;>
<!ELEMENT deftypeop (definitionterm, (pre | deftypeopx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypeop
          %spacesblockattr;>
<!ELEMENT deftypeopx (definitionterm)>
<!ATTLIST deftypeopx
          %spacesattr;>
<!ELEMENT deftypevr (definitionterm, (pre | deftypevrx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypevr
          %spacesblockattr;>
<!ELEMENT deftypevrx (definitionterm)>
<!ATTLIST deftypevrx
          %spacesattr;>
<!ELEMENT defcv (definitionterm, (pre | defcvx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defcv
          %spacesblockattr;>
<!ELEMENT defcvx (definitionterm)>
<!ATTLIST defcvx
          %spacesattr;>
<!ELEMENT deftypecv (definitionterm, (pre | deftypecvx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypecv
          %spacesblockattr;>
<!ELEMENT deftypecvx (definitionterm)>
<!ATTLIST deftypecvx
          %spacesattr;>
<!ELEMENT defop (definitionterm, (pre | defopx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defop
          %spacesblockattr;>
<!ELEMENT defopx (definitionterm)>
<!ATTLIST defopx
          %spacesattr;>
<!ELEMENT deftp (definitionterm, (pre | deftpx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftp
          %spacesblockattr;>
<!ELEMENT deftpx (definitionterm)>
<!ATTLIST deftpx
          %spacesattr;>
<!ELEMENT defun (definitionterm, (pre | defunx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defun
          %spacesblockattr;>
<!ELEMENT defunx (definitionterm)>
<!ATTLIST defunx
          %spacesattr;>
<!ELEMENT defmac (definitionterm, (pre | defmacx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defmac
          %spacesblockattr;>
<!ELEMENT defmacx (definitionterm)>
<!ATTLIST defmacx
          %spacesattr;>
<!ELEMENT defspec (definitionterm, (pre | defspecx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defspec
          %spacesblockattr;>
<!ELEMENT defspecx (definitionterm)>
<!ATTLIST defspecx
          %spacesattr;>
<!ELEMENT defvar (definitionterm, (pre | defvarx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defvar
          %spacesblockattr;>
<!ELEMENT defvarx (definitionterm)>
<!ATTLIST defvarx
          %spacesattr;>
<!ELEMENT defopt (definitionterm, (pre | defoptx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defopt
          %spacesblockattr;>
<!ELEMENT defoptx (definitionterm)>
<!ATTLIST defoptx
          %spacesattr;>
<!ELEMENT deftypefun (definitionterm, (pre | deftypefunx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypefun
          %spacesblockattr;>
<!ELEMENT deftypefunx (definitionterm)>
<!ATTLIST deftypefunx
          %spacesattr;>
<!ELEMENT deftypevar (definitionterm, (pre | deftypevarx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypevar
          %spacesblockattr;>
<!ELEMENT deftypevarx (definitionterm)>
<!ATTLIST deftypevarx
          %spacesattr;>
<!ELEMENT defivar (definitionterm, (pre | defivarx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defivar
          %spacesblockattr;>
<!ELEMENT defivarx (definitionterm)>
<!ATTLIST defivarx
          %spacesattr;>
<!ELEMENT deftypeivar (definitionterm, (pre | deftypeivarx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypeivar
          %spacesblockattr;>
<!ELEMENT deftypeivarx (definitionterm)>
<!ATTLIST deftypeivarx
          %spacesattr;>
<!ELEMENT defmethod (definitionterm, (pre | defmethodx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST defmethod
          %spacesblockattr;>
<!ELEMENT defmethodx (definitionterm)>
<!ATTLIST defmethodx
          %spacesattr;>
<!ELEMENT deftypemethod (definitionterm, (pre | deftypemethodx | %indexentry.cmds;)*, definitionitem?)>
<!ATTLIST deftypemethod
          %spacesblockattr;>
<!ELEMENT deftypemethodx (definitionterm)>
<!ATTLIST deftypemethodx
          %spacesattr;>

<!--
<!ELEMENT definition (definitionterm | definitionitem | indexterm)+>
<!ELEMENT definitionterm (%definition.args; | indexterm)+>
-->
<!ELEMENT definitionterm (indexterm?, (%definition.args;)+)>
<!ELEMENT definitionitem (%block;)*>

<!ENTITY % defargattr
         "%bracketedattr; %spacesattr;">
<!ELEMENT defcategory  (#PCDATA | %Inline.line;)*>
<!ATTLIST defcategory
          %defargattr;
          automatic (%onoff;) 'off'>
<!ELEMENT deffunction  (#PCDATA | %Inline.line;)*>
<!ATTLIST deffunction
          %defargattr;>
<!ELEMENT defvariable  (#PCDATA | %Inline.line;)*>
<!ATTLIST defvariable
          %defargattr;>
<!ELEMENT defparam     (#PCDATA | %Inline.line;)*>
<!ATTLIST defparam
          %defargattr;>
<!ELEMENT defdelimiter (#PCDATA | %Inline.line;)*>
<!ELEMENT deftype      (#PCDATA | %Inline.line;)*>
<!ATTLIST deftype
          %defargattr;>
<!ELEMENT defparamtype (#PCDATA | %Inline.line;)*>
<!ATTLIST defparamtype
          %defargattr;>
<!ELEMENT defdatatype  (#PCDATA | %Inline.line;)*>
<!ATTLIST defdatatype
          %defargattr;>
<!ELEMENT defclass     (#PCDATA | %Inline.line;)*>
<!ATTLIST defclass
          %defargattr;>
<!ELEMENT defclassvar  (#PCDATA | %Inline.line;)*>
<!ATTLIST defclassvar
          %defargattr;>
<!ELEMENT defoperation (#PCDATA | %Inline.line;)*>
<!ATTLIST defoperation
          %defargattr;>

<!-- emacs-page
     Inline elements -->

<!ELEMENT hyphenation (#PCDATA)>

<!-- emphasize -->
<!ELEMENT strong (#PCDATA | %Inline.phrase;)*>
<!ELEMENT emph   (#PCDATA | %Inline.phrase;)*>

<!-- small caps -->
<!ELEMENT sc (#PCDATA | %Inline.phrase;)*>

<!-- fonts -->
<!ELEMENT b  (#PCDATA | %Inline.phrase;)*>
<!ELEMENT i  (#PCDATA | %Inline.phrase;)*>
<!ELEMENT r  (#PCDATA | %Inline.phrase;)*>
<!ELEMENT sansserif   (#PCDATA | %Inline.phrase;)*>
<!ELEMENT slanted     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT titlefont   (#PCDATA | %Inline.phrase;)*>
<!ELEMENT t (#PCDATA | %Inline.phrase;)*>

<!-- markup -->
<!ELEMENT code    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT command (#PCDATA | %Inline.phrase;)*>
<!ELEMENT env     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT file    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT option  (#PCDATA | %Inline.phrase;)*>
<!ELEMENT samp    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT dfn     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT cite    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT key     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT kbd     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT var     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT indicateurl   (#PCDATA | %Inline.phrase;)*>
<!ATTLIST indicateurl
          %spacesattr;>
<!ELEMENT clicksequence (#PCDATA | %Inline.phrase;)*>
<!ELEMENT w       (#PCDATA | %Inline.phrase;)*>
<!ELEMENT asis    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT sub     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT sup     (#PCDATA | %Inline.phrase;)*>
<!ELEMENT verb    (#PCDATA)>
<!ATTLIST verb
          delimiter CDATA #REQUIRED>

<!ELEMENT acronym (acronymword, acronymdesc?)>
<!ATTLIST acronym
          %spacesattr;>
<!ELEMENT acronymword (#PCDATA | %Inline.phrase;)*>
<!ELEMENT acronymdesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST acronymdesc
          %spacesattr;>

<!ELEMENT abbr (abbrword, abbrdesc?)>
<!ATTLIST abbr
          %spacesattr;>
<!ELEMENT abbrword (#PCDATA | %Inline.phrase;)*>
<!ELEMENT abbrdesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST abbrdesc
          %spacesattr;>

<!-- math -->
<!ELEMENT math    (#PCDATA | %Inline.phrase;)*>
<!ATTLIST math
          %spacesattr;>
<!ELEMENT dmn     (#PCDATA | %Inline.phrase;)*>

<!-- reference -->
<!ELEMENT anchor (#PCDATA | %Inline.phrase;)*>
<!ATTLIST anchor
          %spacesattr;
          name CDATA #IMPLIED>

<!ELEMENT errormsg (#PCDATA | %Inline.phrase;)*>
<!ATTLIST errormsg
          %spacesattr;>

<!-- inline conditionals -->
<!ELEMENT inlineraw (inlinerawformat, inlinerawcontent)>
<!ATTLIST inlineraw
          %spacesattr;>
<!ELEMENT inlinerawformat (#PCDATA)>
<!ELEMENT inlinerawcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinerawcontent
          %spacesattr;>

<!ELEMENT inlinefmt (inlinefmtformat, inlinefmtcontent)>
<!ATTLIST inlinefmt
          %spacesattr;>
<!ELEMENT inlinefmtformat (#PCDATA)>
<!ELEMENT inlinefmtcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinefmtcontent
          %spacesattr;>

<!ELEMENT inlineifclear (inlineifclearformat, inlineifclearcontent)>
<!ATTLIST inlineifclear
          %spacesattr;>
<!ELEMENT inlineifclearformat (#PCDATA)>
<!ELEMENT inlineifclearcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlineifclearcontent
          %spacesattr;>

<!ELEMENT inlineifset (inlineifsetformat, inlineifsetcontent)>
<!ATTLIST inlineifset
          %spacesattr;>
<!ELEMENT inlineifsetformat (#PCDATA)>
<!ELEMENT inlineifsetcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlineifsetcontent
          %spacesattr;>

<!ELEMENT inlinefmtifelse (inlinefmtifelseformat, inlinefmtifelsecontentif?, inlinefmtifelsecontentelse?)>
<!ATTLIST inlinefmtifelse
          %spacesattr;>
<!ELEMENT inlinefmtifelseformat (#PCDATA)>
<!ELEMENT inlinefmtifelsecontentif (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinefmtifelsecontentif
          %spacesattr;>
<!ELEMENT inlinefmtifelsecontentelse (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinefmtifelsecontentelse
          %spacesattr;>


<!-- command defined by definfoenclose -->
<!ELEMENT infoenclose  (#PCDATA | %Inline.phrase;)*>
<!ATTLIST infoenclose
          command CDATA #REQUIRED
          begin CDATA #IMPLIED
          end CDATA #IMPLIED>

<!ENTITY % xref.args "xrefnodename?, xrefinfoname?, xrefprinteddesc?,
                xrefinfofile?, xrefprintedname?">
<!ENTITY % xref.attr
          "%spacesattr; 
           label CDATA #IMPLIED
           manual CDATA #IMPLIED">

<!ELEMENT xref (%xref.args;)>
<!ATTLIST xref
          %xref.attr;>
<!ELEMENT ref (%xref.args;)>
<!ATTLIST ref
          %xref.attr;>
<!ELEMENT pxref (%xref.args;)>
<!ATTLIST pxref
          %xref.attr;>

<!ELEMENT xrefnodename    (#PCDATA | %Inline.phrase;)*>
<!ELEMENT xrefinfoname    (#PCDATA | %Inline.phrase;)*>
<!ATTLIST xrefinfoname
          %spacesattr;>
<!ELEMENT xrefinfofile    (#PCDATA | %Inline.phrase;)*>
<!ATTLIST xrefinfofile
          %spacesattr;>
<!ELEMENT xrefprintedname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST xrefprintedname
          %spacesattr;>
<!ELEMENT xrefprinteddesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST xrefprinteddesc
          %spacesattr;>

<!ELEMENT inforef (inforefnodename?, inforefrefname?, inforefinfoname?)>
<!ATTLIST inforef
          %xref.attr;>
<!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*>
<!ELEMENT inforefrefname  (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inforefrefname
          %spacesattr;>
<!ELEMENT inforefinfoname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inforefinfoname
          %spacesattr;>

<!ELEMENT email (emailaddress, emailname?)>
<!ATTLIST email
          %spacesattr;>
<!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*>
<!ELEMENT emailname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST emailname
          %spacesattr;>

<!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)>
<!ATTLIST uref
          %spacesattr;>
<!ELEMENT url  (urefurl, urefdesc?, urefreplacement?)>
<!ATTLIST url
          %spacesattr;>
<!ELEMENT urefurl         (#PCDATA | %Inline.phrase;)*>
<!ELEMENT urefdesc        (#PCDATA | %Inline.phrase;)*>
<!ATTLIST urefdesc
          %spacesattr;>
<!ELEMENT urefreplacement (#PCDATA | %Inline.phrase;)*>

<!ELEMENT footnote (%block;)*>
<!ATTLIST footnote
          %spacesattr;>

<!-- deprecated -->

<!ELEMENT ctrl             (#PCDATA | %Inline.phrase;)*>
<!ELEMENT refill           EMPTY>
<!ELEMENT quote-arg        EMPTY>
<!ELEMENT allow-recursion  EMPTY>

<!-- index commands -->

<!ENTITY % indexcmdattr
         "%spacesattr;
          index CDATA #IMPLIED">

<!ELEMENT defindex  EMPTY>
<!ATTLIST defindex
          %lineattr;
          value     NMTOKEN #REQUIRED>
<!ELEMENT defcodeindex  EMPTY>
<!ATTLIST defcodeindex
          %lineattr;
          value     NMTOKEN #REQUIRED>
<!ELEMENT synindex  EMPTY>
<!ATTLIST synindex
          %lineattr;
          from      NMTOKEN #REQUIRED
          to        NMTOKEN #REQUIRED>
<!ELEMENT syncodeindex  EMPTY>
<!ATTLIST syncodeindex
          %lineattr;
          from      NMTOKEN #REQUIRED
          to        NMTOKEN #REQUIRED>
<!ELEMENT indexterm (#PCDATA | %Inline.line;)*>
<!ATTLIST indexterm
          index         CDATA #IMPLIED
          mergedindex   CDATA #IMPLIED
          number        CDATA #REQUIRED
          incode    (%zeroone;) #IMPLIED>
<!ELEMENT indexcommand (indexterm)>
<!ATTLIST indexcommand
          %indexcmdattr;
          command   CDATA #REQUIRED>
<!ELEMENT cindex (indexterm)>
<!ATTLIST cindex 
          %indexcmdattr;>
<!ELEMENT findex (indexterm)>
<!ATTLIST findex 
          %indexcmdattr;>
<!ELEMENT kindex (indexterm)>
<!ATTLIST kindex 
          %indexcmdattr;>
<!ELEMENT pindex (indexterm)>
<!ATTLIST pindex 
          %indexcmdattr;>
<!ELEMENT tindex (indexterm)>
<!ATTLIST tindex 
          %indexcmdattr;>
<!ELEMENT vindex (indexterm)>
<!ATTLIST vindex 
          %indexcmdattr;>
<!ELEMENT printindex EMPTY>
<!ATTLIST printindex
          %lineattr;
          value     NMTOKEN #REQUIRED>

<!-- unusual insertions and other -->

<!ELEMENT accent (#PCDATA | accent | dotless)*>
<!ATTLIST accent
          %bracketedattr;
          %spacesattr;
          type        CDATA #REQUIRED>

<!ELEMENT bye EMPTY>

<!ELEMENT click  EMPTY>
<!ATTLIST click
          command        CDATA #REQUIRED>

<!ELEMENT dotless (#PCDATA)>

<!ELEMENT spacecmd EMPTY>
<!ATTLIST spacecmd
          type (%spacetype;) #IMPLIED>

<!ELEMENT today EMPTY>

<!ELEMENT U (#PCDATA)>


<!-- emacs-page
     Punctuation and special symbols.  -->

<!ELEMENT punct     (#PCDATA)>
<!ATTLIST punct
          end-of-sentence (yes|no) #IMPLIED>
<!ELEMENT logo      (#PCDATA)>
<!ELEMENT linebreak EMPTY>
<!ELEMENT noeos EMPTY>
<!ELEMENT formfeed EMPTY>

<!ENTITY tex        "<logo>TeX</logo>">
<!ENTITY latex      "<logo>LaTeX</logo>">
<!ENTITY ellipsis   "&#x2026;">
<!ENTITY lt         "&#x3c;">
<!ENTITY gt         "&#x3e;">
<!ENTITY bullet     "&#x2022;">
<!ENTITY copyright  "&#xa9;">
<!ENTITY registered "&#xae;">
<!ENTITY euro       "&#x20ac;">
<!ENTITY pounds     "&#xa3;">
<!ENTITY minus      "&#x2212;">
<!ENTITY linebreak  "<linebreak/>">
<!ENTITY dots       "<punct end-of-sentence='no'>&#x2026;</punct>">
<!ENTITY enddots    "<punct end-of-sentence='yes'>&#x2026;</punct>">
<!ENTITY amp        "&#x26;">
<!ENTITY lsquo      "&#x2018;">
<!ENTITY textlsquo      "&#x2018;">
<!ENTITY rsquo      "&#x2019;">
<!ENTITY textrsquo      "&#x2019;">
<!ENTITY sbquo      "&#x201a;">
<!ENTITY ldquo      "&#x201c;">
<!ENTITY textldquo      "&#x201c;">
<!ENTITY rdquo      "&#x201d;">
<!ENTITY textrdquo      "&#x201d;">
<!ENTITY bdquo      "&#x201e;">
<!ENTITY laquo      "&#xab;">
<!ENTITY raquo      "&#xbb;">
<!ENTITY lsaquo     "&#x2039;">
<!ENTITY rsaquo     "&#x203a;">
<!ENTITY textmdash      "&#x2014;">
<!ENTITY textndash      "&#x2013;">
<!ENTITY formfeed       "<formfeed/>">
<!ENTITY attrformfeed   "\f">
<!ENTITY period     "<punct end-of-sentence='no'>.</punct>">
<!ENTITY eosperiod  "<punct end-of-sentence='yes'>.</punct>">
<!ENTITY quest      "<punct end-of-sentence='no'>?</punct>">
<!ENTITY eosquest   "<punct end-of-sentence='yes'>?</punct>">
<!ENTITY excl       "<punct end-of-sentence='no'>!</punct>">
<!ENTITY eosexcl    "<punct end-of-sentence='yes'>!</punct>">
<!ENTITY hyphenbreak "&#x00ad;">
<!ENTITY slashbreak "/">
<!ENTITY noeos      "<noeos/>">
<!ENTITY arobase    "@">
<!ENTITY lbrace     "{">
<!ENTITY rbrace     "}">
<!ENTITY comma      ",">
<!ENTITY atchar     "@">
<!ENTITY lbracechar "{">
<!ENTITY rbracechar "}">
<!ENTITY backslashchar "\\">
<!ENTITY hashchar   "#">
<!ENTITY nbsp       "&#xa0;">
<!ENTITY deg        "&#xb0;">
<!ENTITY expansion  "&#x2192;">
<!ENTITY point      "&#x2605;">
<!ENTITY printglyph "&#x22a3;">
<!ENTITY errorglyph "error--&gt;">
<!ENTITY result     "&#x21d2;">
<!ENTITY le         "&#x2264;">
<!ENTITY ge         "&#x2265;">
<!ENTITY equiv      "&#x2261;">

<!ENTITY auml "&#xe4;">
<!ENTITY ouml "&#xf6;">
<!ENTITY uuml "&#xfc;">
<!ENTITY Auml "&#xc4;">
<!ENTITY Ouml "&#xd6;">
<!ENTITY Uuml "&#xdc;">
<!ENTITY Euml "&#xcb;">
<!ENTITY euml "&#xeb;">
<!ENTITY Iuml "&#xcf;">
<!ENTITY iuml "&#xef;">
<!ENTITY yuml "&#xff;">
<!ENTITY uml  "&#xa8;">

<!ENTITY Aacute "&#xc1;">
<!ENTITY Eacute "&#xc9;">
<!ENTITY Iacute "&#xcd;">
<!ENTITY Oacute "&#xd3;">
<!ENTITY Uacute "&#xda;">
<!ENTITY Yacute "&#xdd;">
<!ENTITY aacute "&#xe1;">
<!ENTITY eacute "&#xe9;">
<!ENTITY iacute "&#xed;">
<!ENTITY oacute "&#xf3;">
<!ENTITY uacute "&#xfa;">
<!ENTITY yacute "&#xfd;">

<!ENTITY ccedil "&#xe7;">
<!ENTITY Ccedil "&#xc7;">

<!ENTITY Acirc "&#xc2;">
<!ENTITY Ecirc "&#xca;">
<!ENTITY Icirc "&#xc3;">
<!ENTITY Ocirc "&#xd4;">
<!ENTITY Ucirc "&#xdb;">
<!ENTITY acirc "&#xe2;">
<!ENTITY ecirc "&#xea;">
<!ENTITY icirc "&#xee;">
<!ENTITY ocirc "&#xf4;">
<!ENTITY ucirc "&#xfb;">

<!ENTITY Agrave "&#xc0;">
<!ENTITY Egrave "&#xc8;">
<!ENTITY Igrave "&#xcc;">
<!ENTITY Ograve "&#xd2;">
<!ENTITY Ugrave "&#xd9;">
<!ENTITY agrave "&#xe0;">
<!ENTITY egrave "&#xe8;">
<!ENTITY igrave "&#xec;">
<!ENTITY ograve "&#xf2;">
<!ENTITY ugrave "&#xf9;">

<!ENTITY Atilde "&#xc3;">
<!ENTITY Ntilde "&#xd1;">
<!ENTITY Otilde "&#xd5;">
<!ENTITY atilde "&#xe3;">
<!ENTITY ntilde "&#xf1;">
<!ENTITY otilde "&#xf5;">

<!ENTITY oslash "&#xf8;">
<!ENTITY Oslash "&#xd8;">

<!ENTITY lslash "&#x0142;">
<!ENTITY Lslash "&#x0141;">

<!ENTITY THORN  "&#xde;">
<!ENTITY thorn  "&#xfe;">

<!ENTITY eth "&#xf0;">
<!ENTITY ETH "&#xd0;">

<!ENTITY ordm "&#xba;">
<!ENTITY ordf "&#xaa;">

<!ENTITY iexcl "&#xa1;">
<!ENTITY pound "&#xa3;">
<!ENTITY iquest "&#xbf;">
<!ENTITY AElig "&#xc6;">
<!ENTITY aelig "&#xe6;">
<!ENTITY OElig "&#x152;">
<!ENTITY oelig "&#x153;">
<!ENTITY Aring "&#xc5;">
<!ENTITY aring "&#xe5;">
<!ENTITY szlig "&#xdf;">

<!ENTITY rarr "&#x2192;">
<!ENTITY rArr "&#x21d2;">

<!ENTITY macr "&#xaf;">

<!ENTITY backslash "\">
