<!-- All base elements must have ID and can have cross-reference to -->
<!-- an existing ID and include a key to sort, if needed -->
<!ENTITY % keys "id ID #REQUIRED
crossref IDREF #IMPLIED
key IDREF #IMPLIED
%local.keys;">
<!ENTITY % month 'month (jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec) #IMPLIED'>
<!-- Possible types of biblio entries -->
<!ELEMENT biblio (#PCDATA | article| book| booklet| inbook| incollection|
inproceedings| manual| mastersthesis| misc|
phdthesis| proceedings| techreport| unpublished
%local.biblio;)*>
<!-- An article from a journal or magazine -->
<!ELEMENT article (author,title,(%info;)*)>
<!ATTLIST article %keys;
journal CDATA #REQUIRED
year CDATA #REQUIRED
%month;
number CDATA #IMPLIED
pages CDATA #IMPLIED
volume CDATA #IMPLIED>
<!-- A book with an explicit publisher -->
<!ELEMENT book ((author|editor),title,(%info;)*)>
<!ATTLIST book %keys;
publisher CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
edition CDATA #IMPLIED
%month;
number CDATA #IMPLIED
series CDATA #IMPLIED
volume CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A work that is printed or bound, but without a named -->
<!-- publisher or sponsoring institution -->
<!ELEMENT booklet (title,author?,(%info;)*)>
<!ATTLIST booklet %keys;
address CDATA #IMPLIED
howpublished CDATA #IMPLIED
%month;
year CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A part of a book, usually untitled; -->
<!-- (a chapter, a sectional unit, or just a range of pages) -->
<!ELEMENT inbook ((author|editor),title,(%info;)*)>
<!ATTLIST inbook %keys;
pages CDATA #REQUIRED
publisher CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
chapter CDATA #IMPLIED
edition CDATA #IMPLIED
%month;
number CDATA #IMPLIED
series CDATA #IMPLIED
type CDATA #IMPLIED
volume CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A part of a book with its own title -->
<!ELEMENT incollection (author,title,booktitle,editor?,(%info;)*)>
<!ATTLIST incollection %keys;
publisher CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
chapter CDATA #IMPLIED
edition CDATA #IMPLIED
%month;
number CDATA #IMPLIED
pages CDATA #IMPLIED
series CDATA #IMPLIED
type CDATA #IMPLIED
volume CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- An article in a conference proceedings -->
<!ELEMENT inproceedings (author,title,booktitle,editor?,(%info;)*)>
<!ATTLIST inproceedings %keys;
year CDATA #REQUIRED
address CDATA #IMPLIED
%month;
number CDATA #IMPLIED
organization CDATA #IMPLIED
pages CDATA #IMPLIED
publisher CDATA #IMPLIED
series CDATA #IMPLIED
volume CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A master's thesis -->
<!ELEMENT mastersthesis (author,title,(%info;)*)>
<!ATTLIST mastersthesis %keys;
school CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
%month;
type CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- Miscelleneous: use this type if nothing else fits -->
<!ELEMENT misc (((author,title)|(title,author))?,(%info;)*)>
<!ATTLIST misc %keys;
howpublished CDATA #IMPLIED
%month;
year CDATA #IMPLIED>
<!-- A Ph. D. thesis -->
<!ELEMENT phdthesis (author,title,(%info;)*)>
<!ATTLIST phdthesis %keys;
school CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
%month;
type CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- The proceedings of a conference -->
<!ATTLIST proceedings %keys;
year CDATA #REQUIRED
address CDATA #IMPLIED
%month;
number CDATA #IMPLIED
organization CDATA #IMPLIED
publisher CDATA #IMPLIED
series CDATA #IMPLIED
volume CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A report published by a school or other institution -->
<!-- usually numbered within a series -->
<!ELEMENT techreport (author,title,(%info;)*)>
<!ATTLIST techreport %keys;
institution CDATA #REQUIRED
year CDATA #REQUIRED
address CDATA #IMPLIED
%month;
number CDATA #IMPLIED
type CDATA #IMPLIED
ISBN CDATA #IMPLIED>
<!-- A document with author and title, but not formally published -->
<!ELEMENT unpublished (author,title,(%info;)*)>
<!ATTLIST unpublished %keys;
address CDATA #IMPLIED
%month;
number CDATA #IMPLIED
type CDATA #IMPLIED>
<!-- For adding typographic emphasis to the information -->
<!ELEMENT emph (#PCDATA)>
<!ATTLIST emph style (bf|em|it|sf|sl|tt|qu) "em">
<!-- The basic fields (pages 162-164) -->
<!-- Only fields with names (author, editor) and titles are left as -->
<!-- basic elements -->
<!-- Author(s) in format described on pp. 157-158 -->
<!ELEMENT author (name,(and,name)*)>
<!ELEMENT name (first,last)>
<!ELEMENT last (#PCDATA)>
<!ELEMENT first (#PCDATA)>
<!ELEMENT and EMPTY>
<!-- The names of the editor(s) -->
<!ELEMENT editor (name,(and,name)*)>
<!-- The work's title -->
<!ELEMENT title (#PCDATA|emph)*>
<!-- Title of a book, used in incollection and inproceedings -->
<!ELEMENT booktitle (#PCDATA|emph)*>
<!-- Optional notes at end of entries -->
<!-- Annotation (not used by standard styles) -->
<!ELEMENT annote (#PCDATA|emph)*>
<!-- Additional information to help the user -->
<!ELEMENT note (#PCDATA|emph)*>