<?xml version="1.0"?>
<!--
resourcelist.xml.dtd version 1.2

XML DTD for data structure defined in UW-Madison Digital Library Data Dictionary:
    Multimedia and Bibliographic Databases

      version 1.2 created 2002-12-18 pcg

changes from version 1.0:
      added values DecLat, DecLong, PLSS to dc.coverage scheme attribute
      added <dc.rights> to content model of <media>
      added type attribute to <dc.rights>

last modified:
	2004-06-16 pcg to remove generic FPI from comment


FPI:      -//University of Wisconsin-Madison Libraries//DTD Resource List 1.2//EN

-->

<!-- We set OMITTAG to NO, so we don't need tag omissibility,  -->
<!-- making this XML-useable. If you really need omissibility, -->
<!-- redefine this as '- -' -->
<!ENTITY % om.RR ''>

<!--     root element    -->
<!ELEMENT ResourceList %om.RR; (resource)+>

<!--                     -->
<!--  Resource Object    -->
<!--                     -->

<!-- For XML compatibility, we can't use ampersand connectors, so order is enforced -->
<!-- to keep the content model from becoming overly complex.                        -->
<!ELEMENT resource %om.RR; (dc.title+, dc.creator*, dc.subject*, dc.description*, 
                        dc.publisher*, dc.contributor*, dc.date*, dc.type*, 
                        dc.format*, dc.identifier*, dc.source*, dc.language*, 
                        dc.relation*, dc.coverage*, dc.rights*, media*, note*, submitter+)>
<!ATTLIST resource
     id      ID     #REQUIRED 
     update  CDATA  #IMPLIED  >

<!ELEMENT dc.title %om.RR; (#PCDATA)>
<!ATTLIST dc.title
	type (Main | Other) #REQUIRED >

<!ELEMENT dc.creator %om.RR; (#PCDATA)>
<!ATTLIST dc.creator
	scheme (AACR2) #REQUIRED
	type CDATA #IMPLIED>

<!ELEMENT dc.subject %om.RR; (#PCDATA)>
<!ATTLIST dc.subject
	scheme (LCSH | MeSH | AAT) #IMPLIED >

<!ELEMENT dc.description %om.RR; (#PCDATA)>

<!ELEMENT dc.publisher %om.RR; (#PCDATA)>

<!ELEMENT dc.contributor %om.RR; (#PCDATA)>
<!ATTLIST dc.contributor
	scheme (AACR2) #REQUIRED
	type CDATA #IMPLIED>

<!ELEMENT dc.date %om.RR; (#PCDATA)>
<!ATTLIST dc.date
   certainty (y | n)   #IMPLIED
	  scheme (W3C-DTF) #REQUIRED >

<!ELEMENT dc.type %om.RR; (#PCDATA)>
<!ATTLIST dc.type
	scheme (DCT1) #REQUIRED >

<!ELEMENT dc.format %om.RR; (#PCDATA)>
<!ATTLIST dc.format
	scheme (MIME) #IMPLIED >

<!ELEMENT dc.identifier %om.RR; (#PCDATA)>
<!ATTLIST dc.identifier
	scheme (URL | ISBN | ISSN | Handle | CallNo) #IMPLIED >

<!ELEMENT dc.source %om.RR; (#PCDATA)>

<!ELEMENT dc.language %om.RR; (#PCDATA)>
<!ATTLIST dc.language
	scheme (ISO639-2) #REQUIRED >

<!ELEMENT dc.relation %om.RR; ( #PCDATA | labeledURI)*>
<!ATTLIST dc.relation
	type (OtherFormat | IsPartOf | HasPart) #IMPLIED
	scheme (LocalID) #IMPLIED >

<!ELEMENT dc.coverage %om.RR; (#PCDATA)>
<!ATTLIST dc.coverage
	scheme (TGN | AAT | LCSH | W3C-DTF | DecLat | DecLong | PLSS) #IMPLIED >

<!ELEMENT dc.rights %om.RR; (#PCDATA | labeledURI)*>
<!ATTLIST dc.rights
	type   (Ownership | Terms) #IMPLIED
	scheme (Handle)            #IMPLIED >


<!ELEMENT note %om.RR; (#PCDATA)>

<!--                         -->
<!--    Submitter Object     -->
<!--                         -->

<!ELEMENT submitter %om.RR; (name, affiliation?)>

<!ELEMENT name %om.RR; (#PCDATA)>
<!ATTLIST name
	scheme (AACR2) #REQUIRED >

<!ELEMENT affiliation %om.RR; (#PCDATA)>
<!ATTLIST affiliation
	scheme (AACR2) #REQUIRED >


<!--                     -->
<!--    Media Object     -->
<!--                     -->

<!ELEMENT media %om.RR; (basePath?, localPath?, objectID, numComponents?, relativeSize+, dc.format, label?, dc.rights*)>
<!ATTLIST media
	ident CDATA #IMPLIED
	n     CDATA #IMPLIED>

<!ELEMENT basePath %om.RR; (#PCDATA)>

<!ELEMENT localPath %om.RR; (#PCDATA)>

<!ELEMENT objectID %om.RR; (#PCDATA)>

<!ELEMENT numComponents %om.RR; (#PCDATA)>

<!ELEMENT relativeSize %om.RR; (#PCDATA)>

<!ELEMENT label %om.RR; (#PCDATA)>


<!--                     -->
<!-- labeledURI Object   -->
<!--                     -->

<!ELEMENT labeledURI %om.RR; (label?, uri)>

<!ELEMENT uri %om.RR; (#PCDATA)>
<!ATTLIST uri
	scheme (URL) #REQUIRED >


<!-- Entity sets and Notations -->

<!ENTITY % ISOlat1 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" "/usr/local/lib/sgml/entities/isolat1.xml.ent">
%ISOlat1; 

<!ENTITY % ISOlat2 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 2//EN" "/usr/local/lib/sgml/entities/isolat2.xml.ent">
%ISOlat2; 

<!ENTITY % ISOnum PUBLIC   "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN" "/usr/local/lib/sgml/entities/isonum.xml.ent">
%ISOnum;

<!ENTITY % ISOpub  PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN" "/usr/local/lib/sgml/entities/isopub.xml.ent">
%ISOpub; 

<!-- end of DTD -->