Essay.dtd
<!ELEMENT Essay (head, intro*, body, tail*) >
<!ATTLIST Essay xml:lang NMTOKEN "en-US">
<!ELEMENT head (title, subtitle, author) >
<!ELEMENT title (alphanum) >
<!ATTLIST title DatePub CDATA #REQUIRED >
<!ELEMENT subtitle (alphanum) >
<!ELEMENT author (#PCDATA) >
<!ATTLIST author name CDATA #IMPLIED
email CDATA #IMPLIED
phone CDATA #IMPLIED
address CDATA #IMPLIED
>
<!ELEMENT intro (paragraph+, graphic*)*>
<!ELEMENT body (section+) >
<!ELEMENT section (heading*, (paragraph+, pre*, list*, graphic*)*) >
<!ELEMENT heading (text) >
<!ATTLIST heading level (one|two|three) "one">
<!ELEMENT paragraph (text) >
<!ELEMENT text (alphanum | footnote | citation | crossref
| formula)* >
<!ATTLIST text
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT alphanum (#PCDATA | emph | code | bold | footnote
| citation | formula | crossref)*>
<!ATTLIST alphanum
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT emph (#PCDATA | code | bold)*>
<!ATTLIST emph
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!-- breaking the rules of good XML DTD construction? I could argue both
sides. The fact is, I need bold and pre. -->
<!ELEMENT bold (#PCDATA | code | emph | formula)*>
<!ATTLIST emph
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT code (#PCDATA | emph | bold)*>
<!ATTLIST code
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT footnote (#PCDATA | emph | code | citation
|formula | crossref)*>
<!ATTLIST footnote
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT citation (#PCDATA | emph | code | footnote
| formula | crossref)* >
<!ATTLIST citation
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT crossref (#PCDATA | emph | code | footnote
|formula | crossref)*>
<!ATTLIST crossref
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT formula (#PCDATA | subscript)*>
<!ATTLIST crossref
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #IMPLIED
xlink:href CDATA #IMPLIED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|embed|replace) "replace"
xlink:actuate (onRequest|auto) "onRequest"
>
<!ELEMENT subscript (#PCDATA)>
<!-- breaking the rules of good XML DTD construction? I could argue both
sides. The fact is, I need bold and pre. -->
<!ELEMENT pre (text) >
<!ATTLIST pre description CDATA #IMPLIED >
<!ELEMENT list (item+) >
<!ATTLIST list sequence (ordered|unordered) "unordered" >
<!ELEMENT item (text) >
<!ELEMENT graphic ((figure | table), graphic_title)? >
<!ELEMENT figure (text*) >
<!ATTLIST figure fileref CDATA #REQUIRED
width CDATA #IMPLIED
height CDATA #IMPLIED
>
<!ELEMENT table (header_row?, row+) >
<!ELEMENT header_row (col_head*) >
<!ELEMENT col_head (text) >
<!ELEMENT row (row_item*) >
<!ELEMENT row_item (text)>
<!ELEMENT graphic_title (text?) >
<!ELEMENT tail (notes?, bib?, text*) >
<!ELEMENT bib (bib_entry+)>
<!ELEMENT bib_entry EMPTY >
<!ATTLIST bib_entry bib_authors CDATA #REQUIRED
bib_title CDATA #REQUIRED
art_title CDATA #IMPLIED
addit_inf CDATA #IMPLIED
pub_data CDATA #REQUIRED
>
<!ELEMENT notes (note_entry+)>
<!ELEMENT note_entry (alphanum | citation | crossref)* >
<!ATTLIST note_entry number CDATA #REQUIRED>
<!ENTITY lt "<">
<!ENTITY gt ">">
<!ENTITY amp "&">
<!ENTITY apos "'">
<!ENTITY quot """>
<!ENTITY deg "°">