<!--         
       '$RCSfile: eml-dataset.dtd,v $'
       Copyright: 2000 Regents of the University of California and the
                  National Center for Ecological Analysis and Synthesis
     For Details: http://knb.ecoinformatics.org/

        '$Author: higgins $'
          '$Date: 2001-10-19 21:24:30 $'
      '$Revision: 1.10 $'

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-->



<!ELEMENT individualName (salutation*, givenName*, surName)>
<!ELEMENT salutation (#PCDATA)>
<!ELEMENT givenName (#PCDATA)>
<!ELEMENT surName (#PCDATA)>

<!ELEMENT organizationName (#PCDATA)>
<!ELEMENT positionName (#PCDATA)>

<!ELEMENT address (deliveryPoint*, city?, administrativeArea?, 
                   postalCode?, country?)>
<!ELEMENT deliveryPoint (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT administrativeArea (#PCDATA)>
<!ELEMENT postalCode (#PCDATA)>
<!ELEMENT country (#PCDATA)>

<!ELEMENT phone (#PCDATA)>
<!ATTLIST phone phonetype CDATA "voice">
<!ELEMENT electronicMailAddress (#PCDATA)>
<!ELEMENT onlineLink (#PCDATA)>

<!-- Note that the domain for role is not expressed in the DTD -->
<!ELEMENT role (#PCDATA)>


<!-- common fields -->
<!ELEMENT identifier (#PCDATA)>
<!ATTLIST identifier system CDATA "">
<!ELEMENT shortName (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT originator ((individualName|organizationName|positionName)+,
                             address*, phone*, electronicMailAddress*, 
                             onlineLink*, role+)>
<!ELEMENT pubdate (#PCDATA)>
<!ELEMENT pubplace (#PCDATA)>
<!ELEMENT series (#PCDATA)>
<!ELEMENT abstract (paragraph+)>
<!ELEMENT keywordSet (keyword+, keywordThesaurus*)>
<!ELEMENT keyword (#PCDATA)>
<!ATTLIST keyword keywordType CDATA "">
<!ELEMENT keywordThesaurus (#PCDATA)>
<!ELEMENT additionalInfo (paragraph+)>
<!ELEMENT paragraph (#PCDATA)>
<!ELEMENT rights (paragraph+)>
<!ELEMENT onlineURL (#PCDATA)>
<!ELEMENT offlineMedium (medName?, medDensity?, medDensityUnits?, medVol?, medFormat*, medNote?)>
<!ELEMENT medName (#PCDATA)>
<!ELEMENT medDensity (#PCDATA)>
<!ELEMENT medDensityUnits (#PCDATA)>
<!ELEMENT medVol (#PCDATA)>
<!ELEMENT medFormat (#PCDATA)>
<!ELEMENT medNote (#PCDATA)>
<!ELEMENT triple (subject, relationship, object)>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT relationship (#PCDATA)>
<!ELEMENT object (#PCDATA)>


<!ELEMENT geographicCov (descgeog, bounding, dsgpoly*)>
<!ELEMENT temporalCov (sngdate | mdattim | rngdates)>
<!ELEMENT taxonomicCov (keywtax+, taxonsys?, taxongen?, taxoncl)>
<!ELEMENT begdate (#PCDATA)>
<!ELEMENT beggeol (geolage)>
<!ELEMENT begtime (#PCDATA)>
<!ELEMENT citeinfo (#PCDATA)>
<!ELEMENT enddate (#PCDATA)>
<!ELEMENT endgeol (geolage)>
<!ELEMENT endtime (#PCDATA)>
<!ELEMENT geolage (geolscal, geolest, geolun?, geolexpl?, geolcit*)>
<!ELEMENT gring (#PCDATA)>
<!ELEMENT grngpoin (gringlat, gringlon)>
<!ELEMENT mdattim (sngdate+)>
<!ELEMENT rngdates ((begdate, begtime?, enddate, endtime?) | (beggeol, endgeol))>
<!ELEMENT sngdate ((caldate, time?) | geolage)>
<!ELEMENT taxoncl (taxonrn?, taxonrv?, common*, taxoncl*)>
<!ELEMENT descgeog (#PCDATA)>
<!ELEMENT bounding (westbc, eastbc, northbc, southbc, boundalt?)>
<!ELEMENT dsgpoly (dsgpolyo, dsgpolyx*)>
<!ELEMENT geolscal (#PCDATA)>
<!ELEMENT geolest (#PCDATA)>
<!ELEMENT geolun (#PCDATA)>
<!ELEMENT geolexpl (#PCDATA)>
<!ELEMENT geolcit (citeinfo)>
<!ELEMENT gringlat (#PCDATA)>
<!ELEMENT gringlon (#PCDATA)>
<!ELEMENT caldate (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT taxonrn (#PCDATA)>
<!ELEMENT taxonrv (#PCDATA)>
<!ELEMENT common (#PCDATA)>
<!ELEMENT keywtax (taxonkt, taxonkey+)>
<!ELEMENT taxonsys (classsys+, idref*, ider+, taxonpro, taxoncom?, vouchers*)>
<!ELEMENT taxongen (#PCDATA)>
<!ELEMENT westbc (#PCDATA)>
<!ELEMENT eastbc (#PCDATA)>
<!ELEMENT northbc (#PCDATA)>
<!ELEMENT southbc (#PCDATA)>
<!ELEMENT boundalt (altmin, almax, altunits)>
<!ELEMENT dsgpolyo (grngpoin+ | gring)>
<!ELEMENT dsgpolyx (grngpoin+ | gring)>
<!ELEMENT taxonkt (#PCDATA)>
<!ELEMENT taxonkey (#PCDATA)>
<!ELEMENT classsys (classcit, classmod?)>
<!ELEMENT idref (citeinfo)>
<!ELEMENT ider (cntinfo)>
<!ELEMENT taxonpro (#PCDATA)>
<!ELEMENT taxoncom (#PCDATA)>
<!ELEMENT vouchers (specimen, reposit)>
<!ELEMENT altmin (#PCDATA)>
<!ELEMENT almax (#PCDATA)>
<!ELEMENT altunits (#PCDATA)>
<!ELEMENT classcit (citeinfo)>
<!ELEMENT classmod (#PCDATA)>
<!ELEMENT cntinfo (#PCDATA)>
<!ELEMENT specimen (#PCDATA)>
<!ELEMENT reposit (cntinfo)>


<!-- The dataset branch -->
<!ELEMENT dataset (identifier+, shortName?, title+,
                     originator+, pubdate?, pubplace?, series?, abstract?, 
                     keywordSet*, additionalInfo?, rights*, (onlineURL | offlineMedium)*, 
                     triple*, temporalCov*, geographicCov*,
                     taxonomicCov* )>

<!-- EOF -->