<!-- Making of America II Document Type Definition                    -->
<!-- Version 2.0 (BETA 1.3)                                           -->
<!-- March 13, 2000                                                   -->
<!-- Jerome P. McDonough                                              -->
<!-- Library Systems Office                                           -->
<!-- 386 Doe, U.C. Berkeley                                           -->
<!-- Berkeley, CA 94720                                               -->
<!--                                                                  -->
<!-- Copyright (c) 1998, 1999, 2000 The Regents of the University of  -->
<!-- California                                                       -->
<!-- All rights reserved.                                             -->
<!--                                                                  -->
<!-- Permission is hereby granted, without written agreement and      -->
<!-- without license or royalty fees, to use, copy, modify, and       -->
<!-- distribute this document type definition for any purpose,        -->
<!-- provided that the above copyright notice and the following       -->
<!-- two paragraphs appear in all copies of this document.            -->
<!--                                                                  -->
<!-- IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO      -->
<!-- ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR          -->
<!-- CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS DOCUMENT    -->
<!-- TYPE DEFINITION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN   -->
<!-- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                       -->
<!--                                                                  -->
<!-- THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY          -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED           -->
<!-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR       -->
<!-- PURPOSE.  THE DOCUMENT TYPE DEFINITION PROVIDED HEREUNDER IS     -->
<!-- ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO     -->
<!-- OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,             -->
<!-- ENHANCEMENTS, OR MODIFICATIONS.                                  -->
<!--                                                                  -->
<!-- BETA 1.1 revisions 1998-08-11                                    -->
<!--      o     Removed CLUT (color lookup table)                     -->
<!--      o     changed ScanDevice to ColorProfile                    -->
<!--      o     changed fptr FILETYPE attribute to MIMETYPE           -->
<!--                                                                  -->
<!-- BETA 1.2 revisions 1998-08-25                                    -->
<!--      o     Restored CLUT, with revisions, per H. Besser          -->
<!--      o     Altered Source element in AdminMD to recursively      -->
<!--            include AdminMD element, to better track image        -->
<!--            provenance                                            -->
<!--      o     AdminMD element separated out from FileGrps and       -->
<!--            Files hierarchy and linked via ID/IDREF for more      -->
<!--            relational structure                                  -->
<!--                                                                  -->
<!-- BETA 1.3 revisions 1998-10-05                                    -->
<!--      o     Descriptive metadata no longer ArchObj attribute.     -->
<!--            Now a separate content model under ArchObj to allow   -->
<!--            for multiple descriptive metadata references of       -->
<!--            various sorts.  Includes a Dublin Core section for    -->
<!--            those who want one.                                   -->
<!--      o     The <File> element now has attributes for Subobject   -->
<!--            type, Subobject identifier, and Use, which allow      -->
<!--            tools to get an idea of what kind of object is        -->
<!--            recorded in the file, and to what uses an image file  -->
<!--            might be put.                                         -->
<!--      o     <Source>'s content model has been revised to include  -->
<!--            a <SrcDimen> element, for recording the size of the   -->
<!--            scanned object and the scan itself.                   -->
<!--      o     <StructMap> now has a TYPE attribute to allow tools   -->
<!--            to know whether it encodes a logical or physical view -->
<!--      o     <ArchObj> now has a LABEL attribute for identifying   -->
<!--            the object to users in a list.                        -->
<!-- BETA 1.4 revisions 1999-01-08                                    -->
<!--      o     Dublin Core-specific descriptive metadata elements    -->
<!--            removed from the DTD, as DMDRef elements should       -->
<!--            handle all of this.                                   -->
<!--      o     New DMDTYPE of RDF added to DMDRef attributes         -->
<!-- BETA 1.5 revisions 1999-02-02                                    -->
<!--      o     File groups <FileGrp> made recursive so that          -->
<!--            file groups can contain subsidiary file groups which  -->
<!--            group together images associated with similar         -->
<!--            subobject types (e.g., all page images in a sub       -->
<!--            file group, all details in another, etc.).            -->
<!--                                                                  -->
<!-- VERSION 2.0 BETA 1.0 revision 2000-02-29                         -->
<!--      o     Descriptive metadata revised to allow external links  -->
<!--            to broader set of metadata types, to allow internal   -->
<!--            use of Dublin Core, and to allow internal use of      -->
<!--            non-XML brands of metadata via use of CDATA sections. -->
<!--      o     Links from <div> elements to descriptive metadata     -->
<!--            enabled                                               -->
<!--      o     Linking from <div> elements to external MOA2 objects  -->
<!--            enabled                                               -->
<!-- BETA 1.1 revision 2000-03-10                                     -->
<!--      o     removed dublin core set for more extensive desc.      -->
<!--            metadata vocabulary based on Generic DB project.      -->
<!-- BETA 1.2 revision 2000-11-16                                     -->
<!--   o added genAltTitle as valid FieldType attribute to     -->
<!--     <General> element under <GDM>                -->
<!-- BETA 1.3 revision 2000-12-21                                     -->
<!--   o added phyPlaceOfOrigin as valid FieldType attribute   -->
<!--     to <PhysDesc> element under <GDM>        -->

<!-- PURPOSE OF MOA II DTD                                            -->
<!-- This DTD is intended to provide a transfer syntax for            -->
<!-- electronic reproductions of archival documents.                  -->
<!-- Developed as part of the Making of America II                    -->
<!-- Project (http://sunsite.berkeley.edu/MOA2/), the DTD provides a  -->
<!-- a mechanism for specifying: 1. all of the component files for    -->
<!-- multiple versions of an electronic reproduction of an archival   -->
<!-- object; 2. a hierarchical structure for the electronic           -->
<!-- reproduction of an electronic object, 3. equivalent              -->
<!-- locations within the various electronic versions for the         -->
<!-- hierarchical structure delineated; and 4. administrative         -->
<!-- metadata regarding the production of the electronic versions of  -->
<!-- of the original archival object.  A document produced in         -->
<!-- accordance with the MOA II DTD should provide all of the         -->
<!-- structural and administrative metadata necessary to display,     -->
<!-- navigate, evaluate, and manage an electronic reproduction of an  -->
<!-- archival object.                                                 -->

<!-- ===========================================================      -->
<!--                                                                  -->
<!--          BEGINNING OF ACTUAL DOCUMENT TYPE DECLARATION           -->
<!--                                                                  -->
<!-- ===========================================================      -->
 

<!-- global parameter entities                                        -->
<!-- All elements within this DTD carry the attribute(s) listed here. -->
<!ENTITY % a.global 'ID ID #IMPLIED'                                    >

<!-- other parameter entities                                         -->
<!ENTITY % loctype
           'LOCTYPE  (URN|URL|PURL|HANDLE|DOI|PDI) "URL"'     >

<!ENTITY % Dimensions
           'X   CDATA   #IMPLIED
            Y   CDATA   #IMPLIED
            UNIT   CDATA   #IMPLIED'                                    >

<!-- MOA2.DTD                                                         -->
<!-- ArchObj (Archival Object)                                        -->
<!-- 0.0 TOP LEVEL                                                    -->
<!-- =============                                                    -->
<!-- The ArchObj is the root node for a MOA2 document.  As such, it   -->
<!-- bears little information in and of itself, other than an ID      -->
<!-- value, which should be a unique identifying string assigned to   -->
<!-- the object by the institution in control of the object.          -->
<!-- An ArchObj contains three major parts: 1. file lists of all      -->
<!-- the files comprising each electronic version of the archival     -->
<!-- object; 2. Administrative metadata regarding the production and  -->
<!-- maintenance of all of the files in the various file lists; and   -->
<!-- 3. a structural map delineating a hierarchical structure for the -->
<!-- archival object, with mapping to each of the various electronic  -->
<!-- version files (e.g., chapter 1 of this book may be found at this -->
<!-- point in this TEI encoded text file, or in this JPG image file). -->
<!-- The ArchObj content model has been made recursive so that a      -->
<!-- archival object can be defined as consisting of several other    -->
<!-- archival objects as a group.                                     -->
<!--                                                                  -->
<!-- The ArchObj's attributes are:                                    -->
<!--      OBJID - A unique identifying string (presumably a URN)      -->
<!--              assigned to this MOA2 object                        -->
<!--      LABEL - A string identifying this archival object to the    -->
<!--              user, e.g., its title/name.                         -->
<!--      TYPE -  a description of the object type.  Within MOA2,     -->
<!--              this includes ledger, image, photoalbum, journal,   -->
<!--              book, and correspondence                            -->
 

<!ELEMENT ArchObj ((DescMD, FileGrp+, AdminMD*, StructMap+)?, ArchObj*) >
<!ATTLIST ArchObj %a.global;
                  OBJID   CDATA   #REQUIRED
                  LABEL   CDATA   #IMPLIED
                  TYPE    CDATA   #IMPLIED                              >

<!-- 1.0 DescMD (Descriptive Metadata)                                -->
<!-- The descriptive metadata section allows you to point at all      -->
<!-- relevant pieces of descriptive metadata describing this object,  -->
<!-- as well as provides for a minimal encoding of descriptive        -->
<!-- metadata within the object itself.  The                          -->
<!-- DescMD element contains a series of pointers to various external -->
<!-- metadata descriptions of the MOA2 object and/or it contains      -->
<!-- embedded descriptive metadata either in a MOA2 DTD specified     -->
<!-- format or a user specified format.                               -->
<!ELEMENT DescMD (DMDRef*, DMD?)                                        >
<!ATTLIST DescMD %a.global;                                             >
 

<!-- 1.1 DMDRef (Descriptive Metadata Reference)                      -->
<!-- A pointer to descriptive metadata for this MOA2 object, such as  -->
<!-- MARC record, Finding Aid, etc.  Element itself should contain a  -->
<!-- network location (e.g., URN/URL/PURL/etc.).  Element has the     -->
<!-- following attributes:                                            -->
<!--      LOCTYPE - the type of identifier or location used to point  -->
<!--                to the desc. metadata.  Valid values are URN,     -->
<!--                URL, PURL, HANDLE, DOI, PDI.                      -->
<!--      DMDTYPE - the type of metadata.  Valid values are MARC,     -->
<!--                Finding Aid, RDF, PICS and OTHER. If OTHER is     -->
<!--                used, the MIMETYPE attribute should be used to    -->
<!--                to allow software to know what form the metadata  -->
<!--                takes.                                            -->
<!--      MIMETYPE - MIME type for referenced descriptive metadata.   -->
<!--                 Should only really be necessary for desc.        -->
<!--                 metadata of type 'OTHER'                         -->
<!--      LABEL -   A label for the desc. metadata that can be shown  -->
<!--                to the user.                                      -->
<!--      TAGID -   In the case of a Finding Aid desc. metadata ref.  -->
<!--                (or other desc. metadata in SGML/XML format),     -->
<!--                MOA2 document authors can include a TAGID to      -->
<!--                specify a particular location within an EAD       -->
<!--                Finding Aid that pertains to this archival        -->
<!--                object.  This is meant to allow tool developers   -->
<!--                to produce software that will drop the user in    -->
<!--                the appropriate location in the Finding Aid if    -->
<!--                the user wishes to determine this object's        -->
<!--                context as part of a larger collection.           -->
<!ELEMENT DMDRef (#PCDATA)                                              >
<!ATTLIST DMDRef %a.global;
                 %loctype;
                 DMDTYPE   (MARC|FINDAID|RDF|PICS|OTHER) "FINDAID"
                 MIMETYPE  CDATA   #IMPLIED
                 LABEL     CDATA   #IMPLIED
                 TAGID     CDATA   #IMPLIED                             >

<!-- 1.2 DMD (Descriptive Metadata)                                   -->
<!-- Used to incorporate descriptive metadata internally.  Such       -->
<!-- descriptive metadata can either use the generic descriptive      -->
<!-- metadata subelements defined for the GDM element within this     -->
<!-- MOA2.DTD.  Or it can be expressed through another                -->
<!-- user defined text format.  If the latter, it's type              -->
<!-- *must* be declared, and it should be wrapped in a CDATA section  -->
<!-- to ensure that it does not interfere with parsing of the         -->
<!-- document.                                                        -->
<!ELEMENT DMD (GDM*, wrapper*)                                          >
<!ATTLIST DMD %a.global;                                                >

<!-- 1.2.1 GDM (Generic Descriptive Metadata)                         -->
<!-- This element provides an XML encoding for the descriptive        -->
<!-- metadata elements associated with particular subobjects within   -->
<!-- the Berkeley Generic Database.                                   -->
<!ELEMENT GDM (Admin*, AltDate*, Content*, Core*, Creator*,
               General*, PhysDesc*, Related*, dmSource*, Subject*)      >
<!ATTLIST GDM %a.global;                                                >

<!-- 1.2.1.1 Admin (Administrative Information)                       -->
<!-- Administrative information regarding the source object (not      -->
<!-- its electronic encapsulation)                                    -->
<!-- This element has the following attributes:                       -->
<!--      FieldType:    A more precise specification of the kind of   -->
<!--                    administrative information contained within.  -->
<!--                    The value of the attribute is limited to      -->
<!--                    values specified in the GenericDB.            -->
<!--      Public:       Specifies whether the information within this -->
<!--                    element can be shown to the public.           -->
<!--      Seq:          Sequence of this admin. info. note, if more   -->
<!--                    than one.                                     -->
<!ELEMENT Admin (#PCDATA)                                               >
<!ATTLIST Admin %a.global;
                FieldType   (admInstitutionName|admProcessInfo|
                             admInstitutionAddr|admGeneral|
                             admFunding|admAcquisition|
                             admAltForm)                   "admGeneral"
                Public   (Yes|No)   "Yes"
                Seq      CDATA      #IMPLIED                            >

<!-- 1.2.1.2 AltDate (Alternative Date Information)                   -->
<!-- Date information associated with the subobject; Element contains -->
<!-- date note information; actual dates stored in attributes         -->
<!-- This element has the following attributes:                       -->
<!--    Date: Secondary date as displayed on material                 -->
<!--    EndDate: Date completed (normalized to YYYY-MM-DD/YYYY-MM/    -->
<!--             YYYY)                                                -->
<!--    BeginDate: if date range, beginning date, normalized as above -->
<!--    Seq:            Sequence of this date info. note, if more     -->
<!--                    than one.                                     -->
<!ELEMENT AltDate (#PCDATA)                                             >
<!ATTLIST AltDate %a.global;
                  Date      CDATA  #IMPLIED
                  EndDate   CDATA  #IMPLIED
                  BeginDate CDATA  #IMPLIED
                  Seq       CDATA  #IMPLIED                             >

<!-- 1.2.1.3 Content (Object's Contents)                              -->
<!-- Information regarding the subobject's content.                   -->
<!-- This element has the following attributes:                       -->
<!--      FieldType:    A more precise specification of the kind of   -->
<!--                    information contained within the note.        -->
<!--                    The value of the attribute is limited to      -->
<!--                    values specified in the GenericDB.            -->
<!--      Public:       Specifies whether the information within this -->
<!--                    element can be shown to the public.           -->
<!--      Seq:          Sequence of this note, if more  than one.     -->
<!ELEMENT Content (#PCDATA)                                             >
<!ATTLIST Content %a.global;
                  FieldType   (conAbstract|
                               conGeneral|
                               conScopeContent|
                               conStylePeriod)   "conGeneral"
                  Public   (Yes|No)   "Yes"
                  Seq      CDATA      #IMPLIED                          >

<!-- 1.2.1.4 Core (Object's core description)                         -->
<!-- Core descriptive metadata regarding the subobject                -->
<!ELEMENT Core (coreDate*, Caption*, Dimensions*, EADLevel*,
                LocalID*, Origin*, SOType*, Title*)                     >
<!ATTLIST Core %a.global;                                               >

<!-- 1.2.1.4.1 coreDate (Subobject date)                              -->
<!-- Primary date associated with subobject                           -->
<!-- The element itself should be used for PrimeDateNote information  -->
<!-- from the database; the three attributes correspond with their    -->
<!-- matching field type.                                             -->
<!ELEMENT coreDate (#PCDATA)                                            >
<!ATTLIST coreDate %a.global;
                   beginDateNorm   CDATA   #IMPLIED
                   endDateNorm     CDATA   #IMPLIED
                   primaryDate     CDATA   #IMPLIED                     >

<!-- 1.2.1.4.2 Caption (Subobject Caption)                            -->
<!-- Caption appearing on the subobject                               -->
<!ELEMENT Caption (#PCDATA)                                             >
<!ATTLIST Caption %a.global;                                            >

<!-- 1.2.1.4.3 Dimensions (Subobject Dimensions)                      -->
<!-- Physical dimensions of the subobject                             -->
<!ELEMENT Dimensions EMPTY                                              >
<!ATTLIST Dimensions %a.global;
                     height   CDATA   #IMPLIED
                     width    CDATA   #IMPLIED
                     depth    CDATA   #IMPLIED
                     units    CDATA   #IMPLIED                          >

<!-- 1.2.1.4.4 EADLevel (EAD Level for subobject)                     -->
<!ELEMENT EADLevel (#PCDATA)                                            >
<!ATTLIST EADLevel %a.global;                                           >

<!-- 1.2.1.4.5 LocalID                                                -->
<!-- Call number, accession number, shelf location, etc.              -->
<!ELEMENT LocalID (#PCDATA)                                             >
<!ATTLIST LocalID %a.global;
                  LocalIDType   CDATA   #IMPLIED                        >

<!-- 1.2.1.4.6 Origin (Place of origin for material)                  -->
<!-- where the material was created, published, found, etc.           -->
<!ELEMENT Origin (#PCDATA)                                              >
<!ATTLIST Origin %a.global;                                             >

<!-- 1.2.1.4.7 SOType (Subobject Type)                                -->
<!ELEMENT SOType (#PCDATA)                                              >
<!ATTLIST SOType %a.global;                                             >

<!-- 1.2.1.4.8 Title (Subobject title)                                -->
<!-- title of material.                                               -->
<!ELEMENT Title (#PCDATA)                                               >
<!ATTLIST Title %a.global;                                              >

<!-- 1.2.1.5 Creator (Subobject creator)                              -->
<!-- Element should contain creator's name; all other information is  -->
<!-- in attributes:                                                   -->
<!--      NameType: personal, corporate, etc.                         -->
<!--      Dates:    Life, death, active dates for creator             -->
<!--      Nationality: Nationality of creator                         -->
<!--      Source:   Source for creator information                    -->
<!--      SrcCheck: Whether or not source is confirmed                -->
<!--      Role:     Role creator played in creation of subobject      -->
<!--      Seq:      Sequence for creator                              -->
<!ELEMENT Creator (#PCDATA)                                             >
<!ATTLIST Creator %a.global;
                  NameType   CDATA   #IMPLIED
                  Dates      CDATA   #IMPLIED
                  Nationality   CDATA   #IMPLIED
                  Source     CDATA   #IMPLIED
                  SrcCheck   (Yes|No)   "Yes"
                  Role       CDATA   #IMPLIED
                  Seq        CDATA   #IMPLIED                           >

<!-- 1.2.1.6 General (General Notes)                                  -->
<!-- General notes on the subobject                                   -->
<!-- This element has the following attributes:                       -->
<!--      FieldType:    A more precise specification of the kind of   -->
<!--                    information contained within the note.        -->
<!--                    The value of the attribute is limited to      -->
<!--                    values specified in the GenericDB.            -->
<!--      Public:       Specifies whether the information within this -->
<!--                    element can be shown to the public.           -->
<!--      Seq:          Sequence of this note, if more  than one.     -->
<!ELEMENT General (#PCDATA)                                             >
<!ATTLIST General %a.global;
                  FieldType (genAltTitle|
                             genAppraisal|
                             genBibliography|
                             genBiblioHist|
                             genBiographical|
                             genCitation|
                             genConsHist|
                             genEdition|
                             genExhibitHist|
                             genGeneral|
                             genOriginal|
                             genProvenance|
                             genScale|
                             genSeries|
                             genValue)   "genGeneral"
                  Public    (Yes|No)     "Yes"
                  Seq       CDATA        #IMPLIED                       >

<!-- 1.2.1.7 PhysDesc (Physical description)                          -->
<!-- Physical description of the subobject                            -->
<!-- This element has the following attributes:                       -->
<!--      FieldType:    A more precise specification of the kind of   -->
<!--                    information contained within the note.        -->
<!--                    The value of the attribute is limited to      -->
<!--                    values specified in the GenericDB.            -->
<!--      Public:       Specifies whether the information within this -->
<!--                    element can be shown to the public.           -->
<!--      Seq:          Sequence of this note, if more  than one.     -->
<!ELEMENT PhysDesc (#PCDATA)                                            >
<!ATTLIST PhysDesc %a.global;
                   FieldType   (phyCondition|
                                phyDecorationDetails|
                                phyDimensionNote|
                                phyDimensions|
                                phyDuration|
                                phyExtent|
                                phyGeneral|
                                phyGenreform|
                                phyLanguage|
                                phyMarksInscriptions|
                                phyMediumMaterials|
                                phyOrganization|
                                phyPhysDesc|
                                phyPlaceOfOrigin|
                                phyPresentation|
                                phyProcessTechnique|
                                phyScript|
                                phySubstrateSupport)   "phyGeneral"
                    Public     (Yes|No)                "Yes"
                    Seq        CDATA                   #IMPLIED         >

<!-- 1.2.1.8 Related (Related material)                               -->
<!-- information on material related to this subobject.  Element      -->
<!-- contains name/title of related material                          -->
<!-- The element has the following attributes:                        -->
<!--      RelIDNumber: ID Number for related material                 -->
<!--      RelInst:     related material's institution                 -->
<!--      RelURL:      URL for electronic version of related material -->
<!--      RelType:     Type of relationship between materials         -->
<!ELEMENT Related (#PCDATA)                                             >
<!ATTLIST Related %a.global;
                  RelIDNumber   CDATA   #IMPLIED
                  RelInst       CDATA   #IMPLIED
                  RelURL        CDATA   #IMPLIED
                  RelType       CDATA   #IMPLIED                        >

<!-- 1.2.1.9 Source (Subobject Source)                                -->
<!-- Source material from which subobject derives                     -->
<!-- This element has the following attributes:                       -->
<!--      FieldType:    A more precise specification of the kind of   -->
<!--                    information contained within the note.        -->
<!--                    The value of the attribute is limited to      -->
<!--                    values specified in the GenericDB.            -->
<!--      Public:       Specifies whether the information within this -->
<!--                    element can be shown to the public.           -->
<!--      Seq:          Sequence of this note, if more  than one.     -->
<!ELEMENT dmSource (#PCDATA)                                            >
<!ATTLIST dmSource %a.global;
                 FieldType   (srcCharacteristics|
                              srcDimensions|
                              srcGeneral|
                              srcLocalID|
                              srcReproduction|
                              srcType)          "srcGeneral"
                 Public      (Yes|No)           "Yes"
                 Seq          CDATA             #IMPLIED                >

<!-- 1.2.1.10 Subject (Subobject subject)                             -->
<!-- Subject headings applied to subobject.  This element has the     -->
<!-- following attributes:                                            -->
<!--      Source: Authoritative source for subject headings           -->
<!--      SrcCheck: indicates if term has been checked in an          -->
<!--                authoritative source or thesauri                  -->
<!--      Definition: topical, geographic, personal name, etc.        -->
<!ELEMENT Subject (#PCDATA)                                             >
<!ATTLIST Subject %a.global;
                  Source     CDATA   #IMPLIED
                  SrcCheck   CDATA   #IMPLIED
                  Definition CDATA   #IMPLIED                           >

<!-- 1.2.2 wrapper (Descriptive Metadata wrapper)                     -->
<!-- The wrapper element is intended to allow users to include        -->
<!-- non-XML forms of descriptive metadata within a MOA2 object.      -->
<!-- Such metadata should always be enclosed within a CDATA section   -->
<!-- within the wrapper element, unless it is absolutely certain not  -->
<!-- to conflict with parsing the MOA2 document.                      -->
<!--      DMDTYPE -  the type of metadata.  Valid values are MARC,    -->
<!--                 Finding Aid, RDF, PICS and OTHER. If OTHER is    -->
<!--                 used, the MIMETYPE attribute should be used to   -->
<!--                 to allow software to know what form the metadata -->
<!--                 takes.                                           -->
<!--      MIMETYPE - MIME type for descriptive metadata.              -->
<!--                 Should only really be necessary for desc.        -->
<!--                 metadata of type 'OTHER'                         -->
<!--      LABEL -    A label for the desc. metadata that can be shown -->
<!--                 to the user.                                     -->
<!--      ENCODING - Indicates whether not included metadata is       -->
<!--                 encoded or not.  If encoded, must be Base64      -->
<!--                 encoding to ensure XML compatibility.            -->
<!ELEMENT wrapper (#PCDATA)                                             >
<!ATTLIST wrapper %a.global;
                  DMDTYPE   (MARC|FINDAID|RDF|PICS|OTHER)   "OTHER"
                  MIMETYPE  CDATA   #IMPLIED
                  LABEL     CDATA   #IMPLIED
                  ENCODING  (None|Base64)   "None"                      >

<!-- 2.0 FileGrp (File Group)                                         -->
<!-- The file group tag allows you to group together all of the       -->
<!-- individual files which comprise a particular version of an       -->
<!-- archival document.  For example, you could group all of the      -->
<!-- individual page image  files that are in JPG format in one       -->
<!-- file list, all of the page image files in TIFF in another file   -->
<!-- list, etc.  The FileGrp element has an IDREF attribute to an     -->
<!-- AdminMD section, to reference AdminMD relevant to all files in   -->
<!-- this group.  If individual files within the group *also* have    -->
<!-- AdminMD references, the individual file information should be    -->
<!-- assumed to take precedence over administrative metadata input    -->
<!-- for a FileGrp.                                                   -->
<!--                                                                  -->
<!--   The FileGrp tag has the following attributes:                  -->
<!--                                                                  -->
<!--      VERSDATE - The date of creation for this electronic         -->
<!--                 version of the archival object.  Should be       -->
<!--                 given in the ISO format of YYYY-MM-DD.           -->
<!--      ADMID    - IDRESF to the Administrative Metadata section(s) -->
<!--                 for this FileGrp                                 -->
<!ELEMENT FileGrp (FileGrp | File)+                                     >
<!ATTLIST FileGrp %a.global;
                   VERSDATE   CDATA   #IMPLIED
                   ADMID      IDREFS  #IMPLIED                          >

<!-- 2.1 File (File)                                                  -->
<!-- Specifies a file comprising part or all of a digital             -->
<!-- reproduction of an archival object.  The file may be specified   -->
<!-- by providing: 1. a PURL or URL to retrieve the file, 2. the      -->
<!-- encoded contents of the file itself, or 3. both.  As Base64      -->
<!-- appears to be the only encoding format which guarantees that     -->
<!-- content may be transferred within an XML document without        -->
<!-- the use of character entities to replace characters such as the  -->
<!-- left angle bracket in the encoded byte stream, its use is        -->
<!-- STRONGLY encouraged if you wish to include content within a      -->
<!-- MOA2 document.  IT IS THE RESPONSIBILITY OF THE MOA2 DOCUMENT    -->
<!-- AUTHOR TO ENSURE THAT ENCODED FILE CONTENT DOES NOT INTERFERE    -->
<!-- WITH MOA2 DOCUMENT PARSING!                                      -->
<!--                                                                  -->
<!--   The File tag has the following attributes:                     -->
<!--                                                                  -->
<!--      MIMETYPE - the MIME type (see RFC's 2045-2049) for the      -->
<!--                 file's contents                                  -->
<!--      SEQ -      The sequence number of this file within this     -->
<!--                 particular file list.  In the case of page image -->
<!--                 files, the sequence specified will typically     -->
<!--                 match the order of pages.  For groups of SGML    -->
<!--                 or XML files (for a transcription of a work),    -->
<!--                 sequence would typically be used to specify the  -->
<!--                 order of processing of the files to ensure       -->
<!--                 successful parsing of the entire document.       -->
<!--      SIZE -     The total number of bytes for the file           -->
<!--      CREATED -  The original date of creation for this file,     -->
<!--                 given in ISO format YYYY-MM-DD.                  -->
<!--      OWNERID -  A number or alphanumeric string uniquely         -->
<!--                 identifying this image as belonging to the       -->
<!--                 owner (ID number, barcode, filename, etc.).      -->
<!--      ADMID -    IDREFS to the administrative metadata for this   -->
<!--                 file.  If the FileGrp containing a File also     -->
<!--                 also has an ADMID reference, administrative MD   -->
<!--                 for the file should be assumed to take           -->
<!--                 precedence over that for the whole group.        -->
<!--      GROUPID -  A common identifier applied to several different -->
<!--                 <File>s to indicate they are of the same thing.  -->
<!--                 Note that two different files having the same    -->
<!--                 <Source> does not necessarily mean they are of   -->
<!--                 the same thing.  A page image and a detail may   -->
<!--                 have the same source, if a page scan was cropped -->
<!--                 to produce a detail.                             -->
<!--      USE -      Intended to capture the ultimate intended use    -->
<!--                 for this file, e.g., whether a thumbnail,        -->
<!--                 reference, archival master, etc.                 -->
<!ELEMENT File (FLocat?, FContent?)                                     >
<!ATTLIST File %a.global;
               MIMETYPE   CDATA   #REQUIRED
               SEQ        CDATA   #REQUIRED
               SIZE       CDATA   #IMPLIED
               %Dimensions;
               CREATED    CDATA   #REQUIRED
               OWNERID    CDATA   #IMPLIED
               ADMID      IDREFS  #IMPLIED
               GROUPID    CDATA   #IMPLIED
               USE        (THUMBNAIL|REFERENCE|ARCHIVE) "REFERENCE"     >

<!-- 2.1.1 FLocat (File Location)                                     -->
<!-- The location from which a file may be retrieved, or an           -->
<!-- identifier which can resolve to a location, e.g.,  URN, URL,     -->
<!--  PURL, Handle, etc.                                              -->
<!--                                                                  -->
<!-- The FLocat element has the following attribute:                  -->
<!--                                                                  -->
<!--      LOCTYPE - The type of identifier or location.  Valid        -->
<!--                values are URN, URL, PURL, HANDLE, PDI            -->
<!--                                                                  -->
<!ELEMENT FLocat (#PCDATA)                                              >
<!ATTLIST FLocat %a.global;
                 %loctype;                                              >

<!-- 2.1.2 FContent (File Content)                                    -->
<!-- The encoded content of a file.  The use of Base64 as an          -->
<!-- encoding format is *STRONGLY* encouraged, as Base64 encoded      -->
<!-- content should not interfere with parsing of the MOA2 XML        -->
<!-- document.                                                        -->
<!--                                                                  -->
<!-- The FContent element has the following attribute(s):             -->
<!--                                                                  -->
<!--      ENCODE - the encoding format for the content (Base64,       -->
<!--               uuencode, etc.).  Be aware that it is the          -->
<!--               responsibility of the document author to ensure    -->
<!--               that any characters in an encoded byte stream      -->
<!--               which might interfere with parsing of the MOA2     -->
<!--               document are replaced with appropriate character   -->
<!--               entities.                                          -->
<!--                                                                  -->
<!ELEMENT FContent (#PCDATA)                                            >
<!ATTLIST FContent %a.global;
                   ENCODE   CDATA   #REQUIRED                           >

<!-- 3.0 AdminMD (Administrative Metadata)                            -->
<!-- Administrative metadata regarding either a single file or a      -->
<!-- group of files.  Administrative metadata is considered to be     -->
<!-- any information necessary to the long term management of a       -->
<!-- digital collection, including data regarding the creation of     -->
<!-- electronic images, intellectual property rights, and any         -->
<!-- additional information needed to identify an instantiation/      -->
<!-- version of a file and determine what is needed to view or use    -->
<!-- it.                                                              -->
<!ELEMENT AdminMD (FileMgmt?, Rights?, Source*)                         >
<!ATTLIST AdminMD %a.global;                                            >

<!-- 3.1 FileMgmt (Creation/Nature of file)                           -->
<!-- Administrative metadata relating to the creation and properties  -->
<!-- of a file or files.                                              -->
<!ELEMENT FileMgmt (Image | Text)                                       >
<!ATTLIST FileMgmt %a.global;                                           >

<!-- 3.1.1 Image (Image Creation Data )                               -->
<!-- Information regarding a particular image or images creation,     -->
<!-- such as compression algorithm, dimensions, etc.                  -->
<!ELEMENT Image (Compression, BitDepth, ColorSpace,
                 CLUT*, ColorProfile?, Resolution?, LgtSource?)         >
<!ATTLIST Image %a.global;                                              >

<!-- 3.1.1.1 Compression (Image Compression Format)                   -->
<!-- Type of algorithm needed to decompress the image, with note of   -->
<!-- software packaged used to apply the format, and degree/percent   -->
<!-- of compression used when such options exist.                     -->
<!ELEMENT Compression (#PCDATA)                                         >
<!ATTLIST Compression %a.global;                                        >

<!-- 3.1.1.2 BitDepth (Image Bit-depth)                               -->
<!-- color depth.  Should indicate both number of bits and color or   -->
<!-- grey scale, e.g., 24 bit color, 8 bit grey, etc.                 -->
<!ELEMENT BitDepth EMPTY                                                >
<!ATTLIST BitDepth %a.global;
                   BITS    CDATA   #REQUIRED                            >

<!-- 3.1.1.3 ColorSpace (Image's Color Space)                         -->
<!-- Color space used by image, e.g., CMYK, RGB, Lab, etc.            -->
<!ELEMENT ColorSpace (#PCDATA)                                          >
<!ATTLIST ColorSpace %a.global;                                         >

<!-- 3.1.1.4 CLUT (Color Lookup Table)                                -->
<!-- Lookup table employed to map from low in to high (e.g., 8-bit    -->
<!-- to 24-bit) color space.  CLUT has the following, additional      -->
<!-- attribute:                                                       -->
<!--                                                                  -->
<!--      FResident - File Resident (i.e., whether the CLUT resides   -->
<!--                  in the actual image file(s) covered by this     -->
<!--                  AdminMD).                                       -->
<!--      ENCODE - Encoding format for CLUT in MOA2 Document.  Must   -->
<!--               be either Base64 or Text, with Base64 used for     -->
<!--               for encoding actual, binary CLUT, and text used    -->
<!--               for a text version of the values in the CLUT.      -->
<!ELEMENT CLUT (#PCDATA)                                                >
<!ATTLIST CLUT %a.global;
               FResident   (YES|NO)        "YES"
               ENCODE      (Base64|Text)   "Text"                       >
 

<!-- 3.1.1.5 ColorProfile (Color Profile for the Scanning Device)     -->
<!-- Color profile for the Scanning Device originally used to capture -->
<!-- the image.  Element itself is empty; attributes are as follows:  -->
<!--                                                                  -->
<!--      CPLOCAT - specifies whether the color profile resides in    -->
<!--                a separate file (FILE), in the image itself       -->
<!--                (IMAGE), or in both.                              -->
<!--      CPFILE -  if the color profile resides in a separate file,  -->
<!--                this attribute provides a PURL or other network   -->
<!--                location from which the file can be retrieved.    -->
<!--                                                                  -->
<!ELEMENT ColorProfile EMPTY                                            >
<!ATTLIST ColorProfile %a.global;
                       CPLOCAT   (FILE|IMAGE|BOTH)   "FILE"
                       CPFILE    CDATA               #IMPLIED           >

<!-- 3.1.1.6 Resolution (Scanning Resolution)                         -->
<!-- Actual optical input scanning resolution of scanning device,     -->
<!-- e.g., 600 dpi, 400 dpi interpolated to 600 dpi, etc.             -->
<!ELEMENT Resolution (#PCDATA)                                          >
<!ATTLIST Resolution %a.global;                                         >

<!-- 3.1.1.7 LgtSource (Scanning Device's light source)               -->
<!-- Light source used by a particular scanner, e.g., 3400K tungsten, -->
<!-- infrared, Osram Delux L fluorescent, etc.                        -->
<!ELEMENT LgtSource (#PCDATA)                                           >
<!ATTLIST LgtSource %a.global;                                          >

<!-- 3.1.2.1 Text (Text Creation Data)                                -->
<!-- Administrative Metadata relating to the creation and properties  -->
<!-- of a text file or file.                                          -->
<!ELEMENT Text (Encoding?, Transcriber?)                                >
<!ATTLIST Text %a.global;                                               >

<!-- 3.1.2.1.1 Encoding (Character Encoding)                          -->
<!-- Character encoding scheme used within the document, e.g, Unicode -->
<!-- 2.0, ISO-8859-1, etc.                                            -->
<!ELEMENT Encoding (#PCDATA)                                            >
<!ATTLIST Encoding %a.global;                                           >

<!-- 3.1.2.1.2 Transcriber                                            -->
<!-- Person or entity responsible for transcription                   -->
<!ELEMENT Transcriber (#PCDATA)                                         >
<!ATTLIST Transcriber %a.global;                                        >

<!-- 3.2 Rights (Intellectual Property Rights Data)                   -->
<!--                                                                  -->
<!--   The Rights element has the following attributes:               -->
<!--      COPYRIGHT - the copyright date for the image file(s),       -->
<!--                  given as a 4 digit year (e.g., 1998)            -->
<!ELEMENT Rights (Owner+, Credit?, CopyRest?, DispRest?, License?)       >
<!ATTLIST Rights %a.global;
                 COPYRIGHT   CDATA   #IMPLIED                           >

<!-- 3.2.1 Owner (Intellectual Property Rights Holder)                -->
<!-- Owner of intellectual property rights for the *electronic        -->
<!-- image or text*.                                                  -->
<!ELEMENT Owner (#PCDATA)                                               >
<!ATTLIST Owner %a.global;                                              >

<!-- 3.2.2 Credit (Credit Line)                                       -->
<!-- Text required to be displayed whenever the text or image is      -->
<!-- displayed, e.g., Copyright Berkeley Art Museum, 1978.  All       -->
<!-- Rights Reserved.                                                 -->
<!ELEMENT Credit (#PCDATA)                                              >
<!ATTLIST Credit %a.global;                                             >

<!-- 3.2.3 CopyRest (Copying and Distribution Restrictions)           -->
<!-- Any copyright restrictions pertaining to the copy and distrib.   -->
<!-- of the file(s), e.g., Copy and distribution of this file is      -->
<!-- prohibited without the express consent of....                    -->
<!ELEMENT CopyRest (#PCDATA)                                            >
<!ATTLIST CopyRest %a.global;                                           >

<!-- 3.2.4 DispRest (Display and Transmission Restrictions)           -->
<!-- Any copyright restrictions pertaining to the display and         -->
<!-- transmission of the file(s), e.g., This file may be displayed or -->
<!-- transmitted across a network only by person(s) who have signed   -->
<!-- a license agreement with ....                                    -->
<!ELEMENT DispRest (#PCDATA)                                            >
<!ATTLIST DispRest %a.global;                                           >

<!-- 3.2.5 License (Licensing information)                            -->
<!-- Any information regarding licensing arrangements covering the    -->
<!-- file(s).                                                         -->
<!--                                                                  -->
<!--   The License element has the following attributes:              -->
<!--                                                                  -->
<!--      BEGINDATE - Start date for the licensing agreement          -->
<!--                  covering this file given in ISO format of       -->
<!--                  YYYY-MM-DD                                      -->
<!--      ENDDATE - End date for the licensing agreement              -->
<!--                covering this file given in ISO format of         -->
<!--                YYYY-MM-DD                                        -->
<!ELEMENT License (#PCDATA)                                             >
<!ATTLIST License %a.global;
                  BEGINDATE   CDATA   #IMPLIED
                  ENDDATE     CDATA   #IMPLIED                          >

<!-- 3.3 Source (Source of file data, i.e., original archival         -->
<!-- object)                                                          -->
<!--   The Source element has the following attributes:               -->
<!--                                                                  -->
<!--      SOURCEID - a number or alphanumeric string uniquely         -->
<!--                 identifying the source of this file, e.g.,       -->
<!--                 local catalog unique ID for a book, accession    -->
<!--                 number for a special collections item, etc.      -->
<!--                 ID number for the original archival object.      -->
<!ELEMENT Source (Type, Details?, SrcDimen?, AdminMD?)                   >
<!ATTLIST Source %a.global;
                 SOURCEID   CDATA   #REQUIRED                           >

<!-- 3.3.1 Type (Source Type)                                         -->
<!-- Identifies the type of material from which the electronic file   -->
<!-- was created.  Should also mention if conversion source is        -->
<!-- already a reformatted version of the original (i.e., a 35 mm     -->
<!-- slide of a painting).                                            -->
<!ELEMENT Type (#PCDATA)                                                >
<!ATTLIST Type %a.global;                                               >

<!-- 3.3.2 Details (Source Details)                                   -->
<!-- Relevent descriptive details of the source material which may    -->
<!-- impact on scanning, e.g., film type, print type, tightly bound   -->
<!-- volume, etc. or transcription                                    -->
<!ELEMENT Details (#PCDATA)                                             >
<!ATTLIST Details %a.global;                                            >

<!-- 3.3.3 SrcDimen (Source Dimensions)                               -->
<!-- Used to record both the physical dimensions for the source       -->
<!-- object, and the actual physical dimension scanned                -->
<!ELEMENT SrcDimen (OrgDimen?, ScanDimen)                               >

<!-- 3.3.3.1 OrgDimen (Original's Dimensions)                         -->
<!-- Dimensions of the original source object that was scanned.       -->
<!ELEMENT OrgDimen EMPTY                                                >
<!ATTLIST OrgDimen %a.global;
                   %Dimensions;                                         >

<!-- 3.3.3.2 ScanDimen (Actual Physical Dimension Scanned)            -->
<!-- Actual physical dimension scanned.  Needed for facsimile output. -->
<!ELEMENT ScanDimen EMPTY                                               >
<!ATTLIST ScanDimen %a.global;
                    %Dimensions;                                        >

<!-- 4.0 StructMap (Structural Map)                                   -->
<!--                                                                  -->
<!-- A Structural Map provides a hierarchical, structural definition  -->
<!-- of a particular archival object.  As there may be more than one  -->
<!-- view of an object's structure, multiple StructMap elements are   -->
<!-- allowed for a single object.  A StructMap has two attributes:    -->
<!--      ID - as per all MOA2 elements                               -->
<!--      MAPTYPE - indicates whether the structure captured in the   -->
<!--                map describes a logical or physical view of the   -->
<!--                object, e.g., book/chapter/subchapters vs.        -->
<!--                book/pages.                                       -->
<!ELEMENT StructMap (div+)                                              >
<!ATTLIST StructMap %a.global;
                    TYPE (logical|physical) "logical"                   >

<!-- 4.1 div (divisions)                                              -->
<!-- Very similar in intent to unnumbered divisions in TEI.  A        -->
<!-- structural map delineates a hierarchical structure imposed on    -->
<!-- or derived from the archival object.  This hierarchy is shown    -->
<!-- in the MOA2 document as a series of nested div elements.  Any    -->
<!-- div element may contain, in addition to subsidiary divs, a       -->
<!-- pointer out to various file locations that match this location   -->
<!-- in the document hierarchy.  So, for example for a div element    -->
<!-- that matches the beginning of chapter 2 in a book, the div       -->
<!-- element may contain both: A. divs for subchapters, and B. a      -->
<!-- series of pointers to files that listed previously in the MOA2   -->
<!-- document that match the beginning of chapter 2.  Typically,      -->
<!-- such a pointer will either be to a page image file, or to an     -->
<!-- XML/SGML text file.  In the case of XML/SGML files, the file     -->
<!-- pointer will also contain an unambiguous reference to a          -->
<!-- particular tagged element in the file that matches the specified -->
<!-- div.                                                             -->
<!--                                                                  -->
<!--   The div element has the following attributes:                  -->
<!--                                                                  -->
<!--      N - numeric sequence within this level of div               -->
<!--      TYPE - type of division, e.g., book, chapter, subchapter    -->
<!--      LABEL - A label for this particular division within a       -->
<!--              MOA2 document, e.g. Chapter I: The Question at      -->
<!--              Issue                                               -->
<!--      DESCMD - IDREFs to one or more descriptive metadata         -->
<!--               elements which apply at this particular level of   -->
<!--               div.  Descriptive metadata linked to the root div  -->
<!--               is assumed to describe the entire MOA2 object      -->
<!--                                                                  -->
<!ELEMENT div (mptr*, fptr*, div*)                                      >
<!ATTLIST div %a.global;
              N       CDATA   #IMPLIED
              TYPE    CDATA   #IMPLIED
              LABEL   CDATA   #IMPLIED
              DESCMD  IDREFS  #IMPLIED                                  >

<!-- 4.1.1 mptr (MOA2 Object Pointer)                                 -->
<!-- The mptr has two purposes in life:                               -->
<!-- 1. Allow a MOA2 object to point to another MOA2 object which     -->
<!-- contains it.  So, for example, a diary might contain a letter    -->
<!-- which had been tipped in.  The letter MOA2 object could contain  -->
<!-- an mptr to the MOA2 object for the diary, to identify the diary  -->
<!-- as a containing resouce.                                         -->
<!-- 2. Allow a MOA2 object to point to another MOA2 object as a      -->
<!-- subsidiary resource.  One could have a 15 minute quadrangle map  -->
<!-- represented as a MOA2 object, which could contain <div> elements -->
<!-- for each individual quad which pointed to MOA2 objects for the   -->
<!-- 7.5 minute maps representing those individual quads.             -->
<!-- The mptr is based on the XLink standard, and uses the following  -->
<!-- attributes:                                                      -->
<!-- xmlns:xlink - the XLink namespace declaration                    -->
<!-- xlink:type  - the XLink type, in this case, simple.              -->
<!-- xlink:href  - the URI for the resource.                          -->
<!-- xlink:role  - a machine-readable description of the role played  -->
<!--               by the resource identified by the XLink.  The      -->
<!--               following convention has been established for      -->
<!--               describing the roles of MOA2 resources:            -->
<!--               "container" - indicates a resource which           -->
<!--                             can be abstractly considered to      -->
<!--                             contain this object, as in the map   -->
<!--                             example.                             -->
<!--               "content" - indicates a subsidiary resource        -->
<!--                           contained by this object               -->
<!--               "related" - indicates a resource for which neither -->
<!--                           container nor contained provides an    -->
<!--                           an adequate description of the         -->
<!--                           relationship to the current object     -->
<!-- Additionally, it is conventional to encode an mptr pointing to   -->
<!-- a container at the root <div> for a MOA2 object.  Similarly,     -->
<!-- 'contained' mptrs will typically be used at leaf <div>s.         -->
<!ELEMENT mptr EMPTY                                                    >
<!ATTLIST mptr %a.global;
          xmlns:xlink   CDATA   #FIXED   "http://www.w3.org/1999/xlink"
          xlink:type    CDATA   #FIXED    "simple"
          xlink:href    CDATA   #REQUIRED
          xlink:role    CDATA   #IMPLIED
          xlink:title   CDATA   #IMPLIED                                >

<!-- 4.1.2 fptr (File Pointer)                                        -->
<!-- The file pointer identifies a file (or position within a file)   -->
<!-- listed in the FileGrp component of a MOA2 document which         -->
<!-- corresponds to a particular point in the hierarchy for the MOA2  -->
<!-- document's structural map.  So, for a div corresponding with     -->
<!-- chapter 2 in the structural map, the fptr element should specify -->
<!-- either the image file matching the beginning of chapter 2, or    -->
<!-- the SGML/XML document which includes chapter 2 along with a      -->
<!-- reference to the tagged element beginning chapter 2 within that  -->
<!--                                                                  -->
<!--   The fptr element has the following attributes:                 -->
<!--                                                                  -->
<!--      FILEID - the value for the ID attribute for the File        -->
<!--               element matching the div for this fptr             -->
<!--      MIMETYPE - specifies the mime type for the file being       -->
<!--                 pointed at                                       -->
<!--      TAGID - to be used only with fptrs with a FILETYPE          -->
<!--              attribute value of TEXT, the TAGID provides         -->
<!--              the value of an attribute of type ID within         -->
<!--              the document pointed to by the fptr.                -->
<!--                                                                  -->
<!ELEMENT fptr EMPTY                                                    >
<!ATTLIST fptr %a.global;
               FILEID     IDREF   #REQUIRED
               MIMETYPE   CDATA   #REQUIRED
               TAGID      CDATA   #IMPLIED                              >

<!-- ===========================================================      -->
<!--                                                                  -->
<!-- END OF DOCUMENT TYPE DEFINITION                                  -->
<!--                                                                  -->
<!-- ===========================================================      -->