<!ENTITY % attributes "role CDATA #IMPLIED token NMTOKEN #IMPLIED xml:id ID #IMPLIED xml:lang NMTOKEN #IMPLIED">

<!ATTLIST a %attributes; href CDATA #REQUIRED title CDATA #IMPLIED xmlns CDATA #FIXED "http://www.w3.org/1999/xhtml">
<!ATTLIST abstract %attributes;>
<!ATTLIST acknowledgements %attributes;>
<!ATTLIST affiliation %attributes; of IDREFS #IMPLIED type (permanent | present) #IMPLIED>
<!ATTLIST appendix %attributes;>
<!ATTLIST article %attributes; type (letter | note | paper | review) #IMPLIED version (new | revised) #IMPLIED xmlns CDATA #FIXED "http://xml-maiden.com">
<!ATTLIST author %attributes;>
<!ATTLIST authors %attributes;>
<!ATTLIST axiom %attributes; cross IDREFS #IMPLIED>
<!ATTLIST caption %attributes;>
<!ATTLIST cite %attributes; cross IDREFS #IMPLIED doi CDATA #IMPLIED eprint CDATA #IMPLIED preprint CDATA #IMPLIED isbn CDATA #IMPLIED issn CDATA #IMPLIED>
<!ATTLIST code %attributes; language CDATA #IMPLIED>
<!ATTLIST corollary %attributes; of IDREFS #IMPLIED>
<!ATTLIST date %attributes; event (accepted | corrected | received | revised | published) #IMPLIED>
<!ATTLIST definition %attributes; keywords CDATA #IMPLIED cross IDREFS #IMPLIED>
<!ATTLIST editor %attributes; name CDATA #IMPLIED cross IDREFS #IMPLIED>
<!ATTLIST em %attributes;>
<!ATTLIST example %attributes; of IDREFS #IMPLIED>
<!ATTLIST exercise %attributes; for IDREFS #IMPLIED>
<!ATTLIST front %attributes;>
<!ATTLIST header %attributes;>
<!ATTLIST info %attributes;>
<!ATTLIST item %attributes;>
<!ATTLIST key %attributes; definition CDATA #IMPLIED pronounce CDATA #IMPLIED cross IDREFS #IMPLIED>
<!ATTLIST keywords %attributes;>
<!ATTLIST lemma %attributes; cross IDREFS #IMPLIED>
<!ATTLIST list %attributes;>
<!ATTLIST msc %attributes; year (1991 | 2000) #IMPLIED>
<!ATTLIST name %attributes; title CDATA #IMPLIED pronounce CDATA #IMPLIED>
<!ATTLIST notes %attributes; on IDREFS #IMPLIED>
<!ATTLIST pacs %attributes;>
<!ATTLIST paragraph %attributes;>
<!ATTLIST problem %attributes;>
<!ATTLIST proof %attributes; of IDREFS #IMPLIED>
<!ATTLIST proposition %attributes;>
<!ATTLIST q %attributes; author CDATA #IMPLIED>
<!ATTLIST quote %attributes; author CDATA #IMPLIED>
<!ATTLIST remark %attributes; on IDREFS #IMPLIED>
<!ATTLIST ref %attributes; cross IDREFS #IMPLIED doi CDATA #IMPLIED eprint CDATA #IMPLIED preprint CDATA #IMPLIED isbn CDATA #IMPLIED issn CDATA #IMPLIED>
<!ATTLIST referee %attributes; cross IDREFS #IMPLIED>
<!ATTLIST reference %attributes; type (doi | http | eprint | paper | preprint) #IMPLIED>
<!ATTLIST references %attributes;>
<!ATTLIST section %attributes;>
<!ATTLIST segment %attributes;>
<!ATTLIST shell %attributes;>
<!ATTLIST solution %attributes; of IDREFS #IMPLIED>
<!ATTLIST statement %attributes;>
<!ATTLIST stress %attributes;>
<!ATTLIST subject %attributes; scheme CDATA #IMPLIED>
<!ATTLIST subparagraph %attributes;>
<!ATTLIST subsection %attributes;>
<!ATTLIST subsegment %attributes;>
<!ATTLIST summary %attributes; of IDREFS #IMPLIED>
<!ATTLIST table %attributes; summary CDATA #IMPLIED cross IDREFS #IMPLIED>
<!ATTLIST td %attributes; headers IDREFS #IMPLIED>
<!ATTLIST th %attributes;>
<!ATTLIST theorem %attributes;>
<!ATTLIST title %attributes;>
<!ATTLIST tr %attributes;>
<!ATTLIST warning %attributes; on IDREFS #IMPLIED>
<!ATTLIST who %attributes;>
<!ATTLIST what %attributes;>
<!ATTLIST when %attributes;>
<!ATTLIST where %attributes;>

<!ENTITY % line "(#PCDATA | a | em | key | math | name | q | shell | stress)*">
<!ENTITY % innertext "(#PCDATA | a | em | line | key | math | name | q | shell | stress)*">
<!ENTITY % subparagraph "(#PCDATA | a | code | em | formulae | formula | line | key | math | name | q | quote | shell | stress)*">
<!ENTITY % paragraph "(#PCDATA | a | code | em | formulae | formula | list | line | key | math | name | q | quote | shell | stress | subparagraph | table)*">
<!ENTITY % class "((msc , pacs?)|(pacs , msc?))">
<!ENTITY % subj "((keywords , subject?)|(subject , keywords?))">
<!ENTITY % subject "((%subj;, %class;?)|(%class;, %subj;?))">
<!ENTITY % front "(title, ((authors, affiliation*)|(author, affiliation*)*)?, abstract?, ((%subject;, reference*)|(reference+, %subject;?))?, info*, date*)">
<!ENTITY % block "(acknowledgements | axiom | corollary | definition | editor | example | ((exercise | problem), solution?) | ((lemma | proposition | statement | theorem), proof?) | paragraph | referee | remark | summary | warning)+">
<!ENTITY % section "(header?, (subsection | %block;)+)">

<!ELEMENT a (#PCDATA)>
<!ELEMENT abstract %innertext;>
<!ELEMENT acknowledgements %innertext;>
<!ELEMENT affiliation %innertext;>
<!ELEMENT appendix %section;>
<!ELEMENT article ((front | %front;), (section | %section;)+, ((references, appendix?)|(appendix, references?))?, notes?)>
<!ELEMENT authors %line;>
<!ELEMENT author %line;>
<!ELEMENT axiom %paragraph;>
<!ELEMENT caption %line;>
<!ELEMENT cite (who, ((what, where?) | where), when)>
<!ELEMENT code (#PCDATA | a)*>
<!ELEMENT corollary %paragraph;>
<!ELEMENT date  %line;>
<!ELEMENT definition %paragraph;>
<!ELEMENT editor %paragraph;>
<!ELEMENT em %line;>
<!ELEMENT example  %paragraph;>
<!ELEMENT exercise  %paragraph;>
<!ELEMENT front %front;>
<!ELEMENT header %line;>
<!ELEMENT info %innertext;>
<!ELEMENT item  %paragraph;>
<!ELEMENT key (#PCDATA)>
<!ELEMENT keywords %innertext;>
<!ELEMENT lemma %paragraph;>
<!ELEMENT list (item, item+)>
<!ELEMENT msc %innertext;>
<!ELEMENT notes %paragraph;>
<!ELEMENT name (#PCDATA)>
<!ELEMENT pacs %innertext;>
<!ELEMENT paragraph %paragraph;>
<!ELEMENT problem  %paragraph;>
<!ELEMENT proof %paragraph;>
<!ELEMENT proposition %paragraph;>
<!ELEMENT ref %innertext;>
<!ELEMENT referee %paragraph;>
<!ELEMENT reference %innertext;>
<!ELEMENT references (ref+|cite+)>
<!ELEMENT remark %paragraph;>
<!ELEMENT q %line;>
<!ELEMENT quote %subparagraph;>
<!ELEMENT section %section;>
<!ELEMENT segment (header? , (subsegment | %block;)+)>
<!ELEMENT shell %line;>
<!ELEMENT solution  %paragraph;>
<!ELEMENT statement %paragraph;>
<!ELEMENT stress %line;>
<!ELEMENT subject %innertext;>
<!ELEMENT subsection (header? , (segment | %block;)+)>
<!ELEMENT subsegment (header? , %block;)>
<!ELEMENT summary %paragraph;>
<!ELEMENT subparagraph %subparagraph;>
<!ELEMENT table (caption?, tr+)>
<!ELEMENT td  %paragraph;>
<!ELEMENT th  %paragraph;>
<!ELEMENT theorem %paragraph;>
<!ELEMENT title %line;>
<!ELEMENT tr (th|td)+>
<!ELEMENT warning %paragraph;>
<!ELEMENT who %line;>
<!ELEMENT what %line;>
<!ELEMENT when %line;>
<!ELEMENT where %line;>

<!ENTITY % maiden SYSTEM "math.dtd"> %maiden;
