<!--* DTD for curriculum vitae *-->

<!ENTITY % structure "sec|p|list">
<!ENTITY % content "quote|link">
<!ENTITY % descriptive "#PCDATA|p|list|font">

<!ELEMENT doc ((personal), (education), (research), (dissertation), (publication), 
  (honor), (experience), (achievement), (activity), (reference))>
<!ATTLIST doc title  CDATA #REQUIRED>

<!ELEMENT personal (contact)>
<!ATTLIST personal first  CDATA #REQUIRED
                   last   CDATA #REQUIRED
                   middle CDATA #IMPLIED>
<!ELEMENT contact (address|phone|fax|email|url)*>
<!ELEMENT phone EMPTY>
<!ATTLIST phone country CDATA #IMPLIED
                area  CDATA #REQUIRED
                local CDATA #REQUIRED
                ext CDATA #IMPLIED
                type  (home|office|mobile) "">
<!ELEMENT fax EMPTY>
<!ATTLIST fax area  CDATA #REQUIRED
              local CDATA #REQUIRED
              type  (home|office) "">
<!ELEMENT email (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ATTLIST address street1 CDATA #REQUIRED
                  street2    CDATA #REQUIRED
                  city    CDATA #REQUIRED
                  state   CDATA #IMPLIED
                  zip     CDATA #IMPLIED
                  country CDATA #IMPLIED>

<!ELEMENT education (level)*>
<!ELEMENT level EMPTY>
<!ATTLIST level degree   CDATA #REQUIRED
                major    CDATA #REQUIRED
                school   CDATA #REQUIRED
                location CDATA #REQUIRED
                year     CDATA #REQUIRED>

<!ELEMENT research (description)>
<!ELEMENT description (%descriptive;)*>

<!ELEMENT dissertation ((title), (advisor), (description))>
<!ELEMENT title (#PCDATA|font)*>
<!ELEMENT advisor (#PCDATA)>
<!ELEMENT font (#PCDATA)>
<!ATTLIST font type (regular|typewriter) "regular">

<!ELEMENT publication (article|presentation)*>
<!ELEMENT article ((author), (title), (location)?, (page)?, (volume)?, (number)?, (date)?, (url)?)>
<!ATTLIST article type (conference|journal|tech_report) "conference"
                  status (published|accepted|review|submitted|preparation) "published">
<!ELEMENT author (#PCDATA)>
<!ELEMENT location (#PCDATA)>
<!ELEMENT page (#PCDATA)>
<!ELEMENT volume (#PCDATA)>
<!ELEMENT number (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT presentation ((title), (location), (date))>

<!ELEMENT honor (award)*>
<!ELEMENT award ((description), (date))>

<!ELEMENT experience (position)*>
<!ELEMENT position ((description)?, (duty)?)>
<!ELEMENT duty (%descriptive;)*>
<!ATTLIST position title    CDATA #REQUIRED
                   dept     CDATA #IMPLIED
                   employer CDATA #REQUIRED
                   location CDATA #IMPLIED
                   date     CDATA #REQUIRED>

<!ELEMENT achievement (project)*>
<!ELEMENT project  (%descriptive;)*>
<!ATTLIST project  date     CDATA #REQUIRED>

<!ELEMENT activity  (description)*>

<!ELEMENT reference  (person)*>
<!ELEMENT person  (contact)>
<!ATTLIST person   name     CDATA #REQUIRED
                   title    CDATA #REQUIRED
                   dept     CDATA #IMPLIED
                   employer CDATA #IMPLIED
                   relation CDATA #IMPLIED>


<!ELEMENT sec (%structure;)*>
<!ATTLIST sec title CDATA #IMPLIED>

<!ELEMENT p (#PCDATA|%content;)*>

<!ELEMENT quote (#PCDATA)>

<!ELEMENT list (item)*>
<!ATTLIST list type (bullets|enumerated|descriptive) "bullets">

<!ELEMENT item (#PCDATA|p|list|%content;)*>
<!ATTLIST item term CDATA #IMPLIED>

<!ELEMENT link (#PCDATA)>
<!ATTLIST link href CDATA #REQUIRED>
