<!--@@ this is "-//W3C//DTD HTML Report 1997-05-18//EN"
    @@ URL? -->

<!entity % ref.orList "ref.report | ref.inproceedings | ref.email"> <!--@@ others...-->

<!entity % text.orList "#PCDATA | object
                    | xref | bibref | formal-term | uri | tocentry
                    | tt | em | dfn | var | q 
                    | num | c 
                    | emdash | br
                    | %ref.orList;">

<!ENTITY % blockItem.orList "P | PRE
                            | BLOCKQUOTE
                            | OL | UL | DL
                            | table">

<!entity % reftext.orList "a|%text.orList;">

<!entity % address.cm "(author | date | release | updates
                       | %text.orList;)*">

<!entity % heading.cm "((%reftext.orList;)+)">
<!entity % dt.cm "(%reftext.orList;)+, dd?">

<!entity % html.dtd system "html.dtd"> %html.dtd;

<!element report (head, titlepage, contents?, sect+, references?)>

<!element titlepage (report-name | forum | H1 | address | abstract)*>

<!element forum (%reftext.orList;)+>

<!element report-name (h3)>

<!element author (a, affiliation)+>
<!element affiliation (%reftext.orList;)+>

<!element release (%reftext.orList;)+>
<!element updates (%reftext.orList;)+>
<!element date (H3)>
<!attlist date
          canon NUMBER #required>

<!element abstract (status, (h3, (p+), keywords?)?)>

<!element status (h2, (p+))>

<!element keywords (h3, (a+))>

<!element contents (hr?, h2?, ol?)>

<!element sect             (h2, (%blockItem.orList;)+, subsects?)>
<!element subsects              (subsect)+>
<!element subsect          (h3, (%blockItem.orList;)+, subsubsects?)>
<!element subsubsects           (subsubsect)+>
<!element subsubsect       (h4, (%blockItem.orList;)+)>

<!element emdash (#PCDATA)>
<!element num (#PCDATA)+> <!-- section numbers for downlevel clients -->
<!element c   (%text.orList;)+>
         <!-- generated characters for downlevel clients -->
<!element bibref (a)+>
<!element xref (a)>
<!element formal-term (a)> <!-- term defined by a URI -->
<!element uri (a)> <!-- term defined by a URI -->
<!element tocentry (a)>

<!element references (h2, dl)>


<!entity % num.cm "#PCDATA"> <!--@@ integer typing?-->

<!element ref.title (%reftext.orList;)+>
<!element ref.pub (%reftext.orList;)+>
<!element ref.pub.addr (%reftext.orList;)+>
<!element ref.author (%reftext.orList;)+>

<!element ref.date  (%num.cm;)>
<!attlist ref.date
          num NUMBER #REQUIRED><!-- ISO YYYYMMDD format -->
<!element ref.page  (%num.cm;)>
<!element ref.pages  (%num.cm;)>
<!element ref.pinpoint  (%num.cm;)>
<!element ref.ed   (%reftext.orList;)+>
<!element ref.how  (%reftext.orList;)+>
<!element ref.inauthor (%reftext.orList;)+>
<!element ref.intitle (%reftext.orList;)+>
<!element ref.institution (%reftext.orList;)+> <!-- school -->
<!element ref.organization (%reftext.orList;)+> <!-- sponsor -->
<!element ref.journal (%reftext.orList;)+>
<!element ref.num (%reftext.orList;)+>
<!element ref.trtype (%reftext.orList;)+>
<!element ref.volume (%reftext.orList;)+>

<!element ref.inproceedings (%reftext.orList; | ref.title | ref.author | ref.pub.addr
                             |ref.intitle | ref.inauthor | ref.date
                             |ref.pages
                             )+>
<!element ref.report (%reftext.orList; | ref.title | ref.author
                             | ref.institution | ref.num
                             | ref.date
                             )+>
<!element ref.email (%reftext.orList | ref.title | ref.author | ref.pub.addr | ref.date )+>