
<!-- extend HTML DTD by <reference> -->
<!ENTITY % special
   "reference | br | span | bdo | object | applet | img | map | iframe">
<!ENTITY % pubdata
   "title,(authors|author+),project*,((abstract,comment?)|linkto)">
<!ENTITY % inst
   "((institute,((university,place?)|(place,university)))|
     (university,((institute,place?)|(place,institute)))|
     (place,((institute,university)|(university,institute))))">
<!ENTITY % datewithday
   "(date,((year,month,day)|(month,day,year)))">
<!-- load HTML DTD -->
<!ENTITY % HTMLDTD PUBLIC
   "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
%HTMLDTD;

<!ELEMENT publications ANY>

<!ELEMENT publication
  (shorttitle,
   ((conference,place,%datewithday;,proceedings?,page?,%pubdata;)|
    (journal,number,volume,page,date,year,month,%pubdata;)|
    (book,editor+,publisher,isbn?,page,date?,year,month?,%pubdata;)|
    (talk?,place,date,year,month,day,%pubdata;)|
    (techreport,%inst;,number?,date,year,month?,%pubdata;)|
    (thesis,%inst;,date,year,month?,%pubdata;)|
    (thesis,institute,university,date,year,%pubdata;)))>
 <!ATTLIST publication
           type CDATA #REQUIRED
           bib-id CDATA #REQUIRED
           local-id CDATA #IMPLIED>

<!ELEMENT shorttitle (#PCDATA)>

<!ELEMENT journal (#PCDATA|a)*>
 <!ATTLIST journal short CDATA #IMPLIED>
<!ELEMENT conference (#PCDATA|a)*>
 <!ATTLIST conference short CDATA #IMPLIED>
<!ELEMENT bookchapter (#PCDATA|a)*>
<!ELEMENT book (#PCDATA|a)*>
  <!ATTLIST book short CDATA #REQUIRED>
<!ELEMENT talk (#PCDATA)>

<!ELEMENT project (#PCDATA)>
<!ELEMENT proceedings (#PCDATA|a)*>
<!ELEMENT techreport (#PCDATA)>
  <!ATTLIST techreport short CDATA #IMPLIED>
<!ELEMENT thesis (#PCDATA)>
<!ELEMENT number (#PCDATA)>
<!ELEMENT volume (#PCDATA)>
<!ELEMENT page (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT day (#PCDATA)>
<!ELEMENT place (#PCDATA)>
<!ELEMENT university (#PCDATA)>
<!ELEMENT institute (#PCDATA)>
<!ELEMENT authors (author+)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT editor (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT abstract (htmlfrag)>
<!ELEMENT comment (htmlfrag)>
<!ELEMENT htmlfrag ANY>

<!ELEMENT reference (#PCDATA)>
<!ATTLIST reference
           target CDATA #IMPLIED>
<!ELEMENT linkto ANY>
