Next Previous Contents

16. Linuxdoc dtd Source

This is the linuxdoc.dtd used to parse this document. The revision log, revision comments and a few redundant lines are taken out for saving paper and screenspace.


<!-- This is a DTD, but will be read as -*- sgml -*-   -->
<!-- ================================================= -->
<!-- $Id$ 

     This is LINUXDOC96 DTD for SGML-Tools.

     This was LINUXDOC.DTD,
     a hacked version of QWERTZ.DTD v1.3 by Matt Welsh,
     Greg Hankins, Eric Raymond, Marc Baudoin and
     Tristan Debeaupuis; modified from QWERTZ.DTD by
     Tom Gordon.

<!entity % emph 
        " em|it|bf|sf|sl|tt|cparam " >

<!entity % index "idx|cdx|nidx|ncdx" >

<!-- url added by HG; htmlurl added by esr -->
<!entity % xref
        " label|ref|pageref|cite|url|htmlurl|ncite " >

<!entity % inline 
        " (#pcdata | f| x| %emph; |sq| %xref | %index | file )* " >

<!entity % list 
        " list | itemize | enum | descrip " >

<!entity % par       
        "  %list; | comment | lq | quote | tscreen " >

<!entity % mathpar " dm | eq " >

<!entity % thrm 
        " def | prop | lemma | coroll | proof | theorem " >

<!entity % litprog " code | verb " >

<!entity % sectpar 
        " %par; | figure | tabular | table | %mathpar; | 
          %thrm; | %litprog; ">
<!element linuxdoc o o 
        (sect | chapt | article | report | 
         book | letter | telefax | slides | notes | manpage ) >

<!-- `general' entity replaced with ISO entities - kwm -->
<!entity % isoent system "isoent">
%isoent;

<!entity urlnam sdata "urlnam" >
<!entity refnam sdata "refnam" >
<!entity tex sdata "[tex   ]" >
<!entity latex       sdata "[latex ]" >
<!entity latexe      sdata "[latexe]" >
<!entity tm     sdata "[trade ]" >
<!entity dquot  sdata "[quot  ]" >
<!entity ero    sdata "[amp   ]" >
<!entity etago '</' >
<!entity   Ae  '&Auml;' >
<!entity   ae  '&auml;' >
<!entity   Oe  '&Ouml;' >
<!entity   oe  '&ouml;' >
<!entity   Ue  '&Uuml;' >
<!entity   ue  '&uuml;' >
<!entity   sz  '&szlig;' >
<!element  p o o (( %inline | %sectpar )+) +(newline) >
<!entity ptag '<p>' >
<!entity psplit '</p><p>' >

<!shortref pmap
        "&#RS;B" null 
        "&#RS;B&#RE;" psplit
        "&#RS;&#RE;" psplit
--      '"' qtag  --
        "[" lsqb
        "~" nbsp
        "_" lowbar
        "#" num
        "%" percnt
        "^" circ
        "{" lcub
        "}" rcub
        "|" verbar >

<!usemap pmap p>
<!element em - - (%inline)>
<!element bf - - (%inline)>
<!element it - - (%inline)>
<!element sf - - (%inline)>
<!element sl - - (%inline)>
<!element tt - - (%inline)>
<!element sq - - (%inline)>
<!element cparam - - (%inline)>

<!entity   ftag     '<f>'    -- formula begin -- >
<!entity   qendtag  '</sq>'>

<!shortref sqmap 
      "&#RS;B" null
--      '"' qendtag  --
      "[" lsqb
      "~" nbsp
      "_" lowbar
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar >

<!usemap   sqmap    sq >

<!element lq - - (p*)>
<!element quote - - ((%inline; | %sectpar;)*, p*)+ >
<!element tscreen - - ((%inline; | %sectpar;)*, p*)+ >
<!element itemize - - (item+)>
<!element enum - - (item+)>
<!element list - - (item+)>

<!shortref desmap
        "&#RS;B" null
        "&#RS;B&#RE;" ptag
        "&#RS;&#RE;" ptag
        "~" nbsp
        "_" lowbar
        "#" num
        "%" percnt
        "^" circ
        "[" lsqb
        "]" rsqb
        "{" lcub
        "}" rcub
        "|" verbar >

<!element descrip - - (tag?, p+)+ >
<!usemap desmap descrip>

<!element item o o ((%inline; | %sectpar;)*, p*) >

<!element tag - o (%inline)>
<!usemap desmap tag>

<!usemap global (list,itemize,enum)>
<!entity space " ">
<!entity null "">

<!--
<!shortref bodymap
     "&#RS;B&#RE;" ptag
     "&#RS;&#RE;" ptag
      '"' qtag 
      "[" lsqb
      "~" nbsp
      "_" lowbar
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>
-->

<!element figure - - ((eps | ph ), img*, caption?)>
<!attlist figure
        loc cdata "tbp"
        caption cdata "Caption">

<!-- eps attributes added by mb and td  -->
<!element eps - o empty  >
<!attlist eps
        file cdata #required
        height cdata "5cm"
        angle cdata "0">

<!element ph - o empty >
<!attlist ph
        vspace cdata #required>

<!element img - o empty>
<!attlist img
        src cdata #required>

<!element caption - o (%inline)>

<!shortref oneline
     "B&#RE;" space
     "&#RS;&#RE;" null 
     "&#RS;B&#RE;" null
--      '"' qtag  --
      "[" ftag
      "~" nbsp
      "_" lowbar
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>

<!usemap oneline tag>
<!usemap oneline caption>

<!entity % tabrow "(%inline, (colsep, %inline)*)" >
<!element tabular - - 
       (hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >

<!attlist tabular
        ca cdata #required>

<!element rowsep - o empty>
<!element colsep - o empty>
<!element hline  - o empty>

<!entity rowsep "<rowsep>">
<!entity colsep "<colsep>">

<!shortref tabmap
     "&#RE;" null
     "&#RS;&#RE;" null
     "&#RS;B&#RE;" null
     "&#RS;B" null
      "B&#RE;" null
      "BB"  space
      "@" rowsep
      "|" colsep 
      "[" ftag
--      '"' qtag --
      "_" thinsp
      "~" nbsp
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub >

<!usemap  tabmap tabular>
<!element table   - - (tabular, caption?) >
<!attlist table
        loc cdata "tbp">

<!element code - - rcdata>
<!element verb - - rcdata>

<!shortref ttmap     -- also on one-line --
        "B&#RE;" space
        "&#RS;&#RE;" null 
        "&#RS;B&#RE;" null
        "&#RS;B" null
        '#'     num
        '%'     percnt
        '~'     tilde
        '_'     lowbar
        '^'     circ
        '{'     lcub
        '}'     rcub
        '|'     verbar >

<!usemap ttmap  tt>
<!element  mc  - - cdata >
<!entity % sppos     "tu" >
<!entity % fcs       "%sppos;|phr" >
<!entity % fcstxt    "#pcdata|mc|%fcs;" >
<!entity % fscs      "rf|v|fi" >
<!entity % limits    "pr|in|sum" >
<!entity % fbu       "fr|lim|ar|root" >
<!entity % fph       "unl|ovl|sup|inf" >
<!entity % fbutxt    "(%fbu;) | (%limits;) | 
                      (%fcstxt;)|(%fscs;)|(%fph;)" >
<!entity % fphtxt    "p|#pcdata" >
<!element  f        - - ((%fbutxt;)*) >

<!entity   fendtag  '</f>'   -- formula end -- >

<!shortref fmap 
      "&#RS;B" null
      "&#RS;B&#RE;" null
      "&#RS;&#RE;" null
      "_" thinsp
      "~" nbsp
      "]" rsqb
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>

<!usemap   fmap     f >

<!element  dm       - - ((%fbutxt;)*)>
<!element  eq       - - ((%fbutxt;)*)>

<!shortref dmmap
     "&#RE;" space
      "_" thinsp
      "~" nbsp
      "]" rsqb
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>

<!usemap dmmap (dm,eq)>
<!element  fr       - - (nu,de) >
<!element  nu       o o ((%fbutxt;)*) >
<!element  de       o o ((%fbutxt;)*) >
<!element  ll       o o ((%fbutxt;)*) >
<!element  ul       o o ((%fbutxt;)*) >
<!element  opd      - o ((%fbutxt;)*) >
<!element  pr       - - (ll,ul,opd?) >
<!element  in       - - (ll,ul,opd?) >
<!element  sum      - - (ll,ul,opd?) >
<!element  lim      - - (op,ll,ul,opd?) >
<!element  op       o o (%fcstxt;|rf|%fph;) -(tu) >
<!element  root     - - ((%fbutxt;)*) >
<!attlist  root
        n cdata "">
<!element col o o ((%fbutxt;)*) >
<!element row o o (col, (arc, col)*) >

<!element  ar       - - (row, (arr, row)*) >
<!attlist  ar
    ca     cdata    #required >
<!element  arr      - o empty >
<!element  arc      - o empty >
<!entity   arr "<arr>" >
<!entity   arc "<arc>" >

<!shortref arrmap
     "&#RE;" space
      "@" arr
      "|" arc 
      "_" thinsp
      "~" nbsp
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub >

<!usemap   arrmap   ar >
<!element  sup      - - ((%fbutxt;)*) -(tu) >
<!element  inf      - - ((%fbutxt;)*) -(tu) >
<!element  unl - - ((%fbutxt;)*) >
<!element  ovl - - ((%fbutxt;)*) >
<!element  rf  - o (#pcdata) >
<!element  phr - o ((%fphtxt;)*) >
<!element  v   - o ((%fcstxt;)*) 
        -(tu|%limits;|%fbu;|%fph;) >
<!element  fi  - o (#pcdata) >
<!element  tu  - o empty >

<!usemap global (rf,phr)>
<!element def - - (thtag?, p+) >
<!element prop - - (thtag?, p+) >
<!element lemma - - (thtag?, p+) >
<!element coroll - - (thtag?, p+) >
<!element proof - - (p+) >
<!element theorem - - (thtag?, p+) >
<!element thtag - - (%inline)>

<!usemap global (def,prop,lemma,coroll,proof,theorem)>
<!usemap oneline thtag>
<!entity   qtag     '<sq>' >

<!shortref global
      "&#RS;B" null  -- delete leading blanks --
  --    '"' qtag -- 
      "[" ftag
      "~" nbsp
      "_" lowbar
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>

<!usemap global linuxdoc>
<!element label - o empty>
<!attlist label id cdata #required>

<!-- ref modified to have an optional name field HG -->
<!element ref - o empty>
<!attlist ref   
        id cdata #required
        name cdata "&refnam">

<!-- url entity added to have direct url references HG -->
<!element url - o empty>
<!attlist url   
        url cdata #required
        name cdata "&urlnam" >

<!-- htmlurl entity added to have quieter url references esr -->
<!element htmlurl - o empty>
<!attlist htmlurl   
        url cdata #required
        name cdata "&urlnam" >

<!element pageref - o empty>
<!attlist pageref
        id cdata #required>
<!element comment - - (%inline)>
<!element x - - ((#pcdata | mc)*) >
<!usemap   #empty   x >

<!-- Hacked by mdw to exclude abstract; abstract now part of titlepag -->
<!element article - -
        (titlepag, header?, 
         toc?, lof?, lot?, p*, sect*, 
         (appendix, sect+)?, biblio?) +(footnote)>

<!attlist article
        opts cdata "null">

<!-- Hacked by mdw to exclude abstract; abstract now part of titlepag -->
<!element report - - 
        (titlepag, header?, toc?, lof?, lot?, p*,
         chapt*, (appendix, chapt+)?, biblio?) +(footnote)>

<!attlist report
        opts cdata "null">
<!element book  - - 
        (titlepag, header?, toc?, lof?, lot?, p*, chapt*, 
         (appendix, chapt+)?, biblio?) +(footnote) >

<!attlist book
        opts cdata "null">

<!-- Hacked by mdw, abstract now part of titlepag -->
<!element titlepag o o (title, author, date?, abstract?)>
<!element title - o (%inline, subtitle?) +(newline)>
<!element subtitle - o (%inline)>
<!usemap oneline titlepag>
<!element author - o (name, thanks?, inst?, 
                        (and, name, thanks?, inst?)*)>
<!element name o o (%inline) +(newline)>
<!element and - o empty>
<!element thanks - o (%inline)>
<!element inst - o (%inline) +(newline)>
<!element date - o (#pcdata) >

<!usemap global thanks>
 
<!element newline - o empty >
<!entity nl "<newline>"> 

<!-- Hacked by mdw -->
<!element abstract - o (%inline)>
<!usemap oneline abstract>


<!element toc - o empty>
<!element lof - o empty>
<!element lot - o empty>
<!element header - - (lhead, rhead) >
<!element lhead - o (%inline)>
<!element rhead - o (%inline)>
<!entity % sect "heading, header?, p* " >
<!element heading o o (%inline)>
<!element chapt - o (%sect, sect*) +(footnote)> 
<!element sect  - o (%sect, sect1*) +(footnote)>
<!element sect1 - o (%sect, sect2*)>
<!element sect2 - o (%sect, sect3*)>
<!element sect3 - o (%sect, sect4*)>
<!element sect4 - o (%sect)>
<!usemap oneline (chapt,sect,sect1,sect2,sect3,sect4)>
<!element appendix - o empty >
<!element footnote - - (%inline)>
<!usemap global footnote>
<!element cite - o empty>
<!attlist cite 
        id cdata #required>

<!element ncite - o empty>
<!attlist ncite 
        id cdata #required
        note cdata #required>

<!element file - - (#pcdata)>

<!element idx - - (#pcdata)>
<!element cdx - - (#pcdata)>
<!element nidx - - (#pcdata)>
<!element ncdx - - (#pcdata)>

<!element biblio - o empty>
<!attlist biblio
        style cdata "linuxdoc"
        files cdata "">
<!element slides - - (slide*) >

<!attlist slides
        opts cdata "null">
<!element slide - o (title?, p+) >
<!entity  % addr "(address?, email?, phone?, fax?)" >  
        
<!element letter - - 
        (from, %addr, to, %addr, cc?, subject?, sref?, rref?,
         rdate?, opening, p+, closing, encl?, ps?)>

<!attlist letter
        opts cdata "null">
        
<!element from               - o (#pcdata) >
<!element to         - o (#pcdata) >
        
<!usemap oneline (from,to)>
        
<!element address    - o (#pcdata) +(newline) >
<!element email              - o (#pcdata) >
<!element phone              - o (#pcdata) >
<!element fax                - o (#pcdata) >
        
<!element subject    - o (%inline;) >
<!element sref               - o (#pcdata) >
<!element rref          - o (#pcdata) >
<!element rdate         - o (#pcdata) >
        
<!element opening    - o (%inline;) >
<!usemap oneline opening>
        
<!element closing - o (%inline;) >
<!element cc - o (%inline;) +(newline) >
<!element encl - o (%inline;) +(newline) >
        
<!element ps - o (p+) >

<!element telefax - - 
        (from, %addr, to, address, email?, 
         phone?, fax, cc?, subject?,
         opening, p+, closing, ps?)>

<!attlist telefax
        opts cdata "null"
        length cdata "2">

<!element notes - - (title?, p+) >
<!attlist notes
        opts cdata "null" >
<!element manpage - - (sect1*) 
        -(sect2 | f | %mathpar | figure | tabular | 
          table | %xref | %thrm )>


<!attlist manpage
        opts cdata "null"
        title cdata ""
        sectnum cdata "1" >
<!shortref manpage
      "&#RS;B" null
--      '"' qtag  --
      "[" ftag
      "~" nbsp
      "_" lowbar
      "#" num
      "%" percnt
      "^" circ
      "{" lcub
      "}" rcub
      "|" verbar>

<!usemap manpage  manpage >


Next Previous Contents