Matterhorn METS

XML based metadata model of docuteam cosmos

Introduction

Matterhorn METS is the data and metadata model that docuteam uses for information packages (SIP). It was developed by docuteam and the Valais State Archive for digital archiving and has been registered with the Library of Congress since 2012 (specification). Matterhorn METS is based on widely used, established and publicly available standards:

  • METS Metadata Encoding and Transmission Standard as container format
  • PREMIS for technical and administrative metadata
  • EAD for descriptive metadata

Matterhorn METS specifies how these three standards have to be used to describe a SIP. This description is located in the SIP on the top level next to the root element and is called mets.xml.

A Matterhorn METS-XML consists of the METS header (METS:METSHdr) with the basic administrative metadata, such as the creation date of the SIP.

A "Descriptive Metadata Section" is created for each object in the SIP (METS:dmdSec). This contains the descriptive metadata according to the EAD standard.

All descriptive metadata is stored within the file mets.xml using the EAD schema.

The "Administrative Metadata Section" (METS:amdSec) contains technical and administrative metadata for the individual objects, such as the checksum, information on the file format or the PREMIS events. A PREMIS event contains information about which actor performed which action at what time and with what result.

An example of a PREMIS event:

<PREMIS:event>
    <PREMIS:eventIdentifier>
	    <PREMIS:eventIdentifierType>Docuteam</PREMIS:eventIdentifierType>
	    <PREMIS:eventIdentifierValue>_20170825125507822</PREMIS:eventIdentifierValue>
    </PREMIS:eventIdentifier>
    <PREMIS:eventType>Creation</PREMIS:eventType>
    <PREMIS:eventDateTime>2017-08-25T12:55:07</PREMIS:eventDateTime>
    <PREMIS:eventDetail>Performed by: 'user'</PREMIS:eventDetail>
    <PREMIS:eventOutcomeInformation>
	    <PREMIS:eventOutcome>Success</PREMIS:eventOutcome>
    </PREMIS:eventOutcomeInformation>
    <PREMIS:linkingObjectIdentifier xlink:type="simple">
        <PREMIS:linkingObjectIdentifierType>Docuteam</PREMIS:linkingObjectIdentifierType>
        <PREMIS:linkingObjectIdentifierValue>_20170825125507812</PREMIS:linkingObjectIdentifierValue>
    </PREMIS:linkingObjectIdentifier>
</PREMIS:event>

Finally, the "Structure Map" (METS:structMap) contains the information about the hierarchy of the objects.

List of EAD metadata elements

The following table lists the metadata elements available for active use in docuteam cosmos and provides the following information:

  • The accessorNameId used in levels.xml.
  • Default field label displayed in packer. These labels can be adapted by editing the Translation.properties files in docuteam-packer\translations. Numbers at the start of the field name correspond to ISAD(G) elements.
  • Corresponding EAD (Version 2002) element. Given is the xpath relative to an <EAD:archdesc> or <EAD:c> element.
accessorNameID Default field label in packer EAD
otherLevelName 1.4 Level [@level = 'otherlevel']/@otherlevel
accessPolicy Access Policy EAD:accessrestrict[@type = 'accessPolicy']/EAD:p
accessRestrictionClassification Classification EAD:accessrestrict[@type = 'accessRestrictionsClassification']/EAD:p
accessRestrictionClosureYear Access Restriction Until Year EAD:accessrestrict[@type = 'accessRestrictionsClosureYear']/EAD:p
accessRestrictionExplanation Access Restriction Explanation EAD:accessrestrict[@type = 'accessRestrictionsExplanation']/EAD:p
accessRestrictionIsMetadataPublic Publish Metadata EAD:accessrestrict[@type = 'accessRestrictionsIsMetadataPublic']/EAD:p
accessRestrictionIsPublic Publish Documents EAD:accessrestrict[@type = 'accessRestrictionsIsPublic']/EAD:p
accessRestrictionPeriod Access Restriction Period EAD:accessrestrict[@type = 'accessRestrictionsPeriod']/EAD:p
accessRestrictionPeriodBaseYear Access Restriction Period Since Year EAD:accessrestrict[@type = 'accessRestrictionsPeriodBaseYear']/EAD:p
accessRestrictionPrivacy Privacy EAD:accessrestrict[@type = 'accessRestrictionsPrivacy']/EAD:p
accessRestrictionStatus Access Restriction Status EAD:accessrestrict[@type = 'accessRestrictionsStatus']/EAD:p
accessRestrictionStatusExplanation Access Restriction Status Explanation EAD:accessrestrict[@type = 'accessRestrictionsStatusExplanation']/EAD:p
retentionPeriodBaseYear Retention Period Since Year EAD:accessrestrict[@type = 'baseYear']/EAD:p
accessRestriction 4.1 Access Rules EAD:accessrestrict[@type = 'restrictions']/EAD:p
retentionPeriod Retention Period EAD:accessrestrict[@type = 'retentionPeriod']/EAD:p
retentionPolicy Retention Policy EAD:accessrestrict[@type = 'retentionPolicy']/EAD:p
usagePermission Usage permission EAD:accessrestrict[@type = 'usagePermission']/EAD:p
usagePermissionExpiringDate Usage permission expiring date EAD:accessrestrict[@type = 'usagePermissionExpiringDate']/EAD:p
accruals 3.3 Accruals EAD:accruals/EAD:p
accessNr 2.4 Source of Acquisition EAD:acqinfo/EAD:p
reproductions 5.2 Location of Copies EAD:altformavail/EAD:p
appraisalDateDisposed Date Of Destruction EAD:appraisal/EAD:note[@type = 'dateDisposed']/EAD:p
appraisalHoldRule Hold Rule EAD:appraisal/EAD:note[@type = 'holdRule']/EAD:p
appraisalHoldOwner Hold Owner EAD:appraisal/EAD:note[@type = 'holdOwner']/EAD:p
appraisalHoldReason Hold Reason EAD:appraisal/EAD:note[@type = 'holdReason']/EAD:p
appraisalHoldStartDate Hold Start Date EAD:appraisal/EAD:note[@type = 'holdStartDate']/EAD:p
appraisalHoldEndDate Hold End Date EAD:appraisal/EAD:note[@type = 'holdEndDate']/EAD:p
appraisalHoldReassessingDate Hold Reassessing Date EAD:appraisal/EAD:note[@type = 'holdReassessingDate']/EAD:p
appraisalIsOnHold Is On Hold EAD:appraisal/EAD:note[@type = 'isOnHold']/EAD:p
appraisalRetentionPeriod Retention Period EAD:appraisal/EAD:note[@type = 'retentionPeriod']/EAD:p
appraisalAndDestruction 3.2 Appraisal EAD:appraisal/EAD:p
arrangement 3.4 Arrangement EAD:arrangement/EAD:p
bibliography 5.4 Publications EAD:bibliography/EAD:p
dateOfBirth Date of birth EAD:bioghist/EAD:note[@type = 'dateBirth']/EAD:p
firstname Firstname EAD:bioghist/EAD:note[@type = 'firstName']/EAD:p
lastname Lastname EAD:bioghist/EAD:note[@type = 'lastName']/EAD:p
nationality Nationality EAD:bioghist/EAD:note[@type = 'nationality']/EAD:p
sex Sex EAD:bioghist/EAD:note[@type = 'sex']/EAD:p
deathOfAuthor Death of Author EAD:bioghist/EAD:note[not(@type)]/EAD:p/EAD:date[@type = 'deathAuthor']
biographicalHistory 2.2 Administrative History EAD:bioghist/EAD:p
institutionCreator Institution Creator EAD:controlaccess/EAD:corpname[@role = 'creator']
institutionInvolved Institution Involved EAD:controlaccess/EAD:corpname[@role = 'involved']
institution Institution EAD:controlaccess/EAD:corpname[not(@role)]
familyName Family name EAD:controlaccess/EAD:famname[@role = 'general']
function Function EAD:controlaccess/EAD:function[@rules = 'general']
objectType Type EAD:controlaccess/EAD:genreform
geogName Geographic Name EAD:controlaccess/EAD:geogname[@role = 'general']
authorGeneric Author EAD:controlaccess/EAD:name[@role = 'author']
compartment Compartment EAD:controlaccess/EAD:name[@role = 'compartment']
designer Designer EAD:controlaccess/EAD:name[@role = 'designer']
editor Editor EAD:controlaccess/EAD:name[@role = 'editor']
fundingSource Funding Source EAD:controlaccess/EAD:name[@role = 'fundingSource']
illustrator Draftsman EAD:controlaccess/EAD:name[@role = 'illustrator']
institute Institute EAD:controlaccess/EAD:name[@role = 'institute']
journal Journal EAD:controlaccess/EAD:name[@role = 'journal']
keyword Keyword EAD:controlaccess/EAD:name[@role = 'keyword']
location Location EAD:controlaccess/EAD:name[@role = 'location']
method Method EAD:controlaccess/EAD:name[@role = 'method']
photographer Photographer EAD:controlaccess/EAD:name[@role = 'photographer']
placeOfPublication Place of Publication EAD:controlaccess/EAD:name[@role = 'placeOfPublication']
publisher Publisher EAD:controlaccess/EAD:name[@role = 'publisher']
status Status EAD:controlaccess/EAD:name[@role = 'status']
submitStatus Submit status EAD:controlaccess/EAD:name[@role = 'submitStatus']
typeOfAcquisition Type of Acquisition EAD:controlaccess/EAD:name[@role = 'typeOfAcquisition']
university University EAD:controlaccess/EAD:name[@role = 'university']
occupation Occupation EAD:controlaccess/EAD:occupation[@rules = 'general']
author Author EAD:controlaccess/EAD:persname[@role = 'author']
creator Creator EAD:controlaccess/EAD:persname[@role = 'creator']
involved Involved EAD:controlaccess/EAD:persname[@role = 'involved']
responsible Responsible EAD:controlaccess/EAD:persname[@role = 'responsible']
staff Staff Member EAD:controlaccess/EAD:persname[@role = 'staff']
subjectGeneral General Subject EAD:controlaccess/EAD:subject[@rules = 'general']
subject Subject EAD:controlaccess/EAD:subject[not(@rules) and not(@role)]
uniformTitle Uniform Title EAD:controlaccess/EAD:title[@type = 'uniform']
modeOfAcquisition Mode of acquisition EAD:custodhist/EAD:acqinfo/EAD:p
sourceType Availability EAD:custodhist/EAD:note/EAD:p
archivalHistory 2.3 Archival History EAD:custodhist/EAD:p
PID PID EAD:dao[@xlink:role = 'simple']/@xlink:href
registrationURL URL for URN registrierung EAD:daogrp[@xlink:role = 'registrationURL']/EAD:daoloc/@xlink:href
sourceURL Source URL EAD:daogrp[@xlink:role = 'sourceURL']/EAD:daoloc/@xlink:href
abstract Abstract EAD:did/EAD:abstract
languageNotes Language Notes EAD:did/EAD:langmaterial/@label
language 4.3 Language EAD:did/EAD:langmaterial/EAD:language
cartographicMaterial Cartographic Mathematical Data EAD:did/EAD:materialspec[@label = 'cartographic']
scale Scale EAD:did/EAD:materialspec[@label = 'scale']
origination Origination EAD:did/EAD:origination
originationAgency Agency EAD:did/EAD:origination[@label = 'agency']
originationDepartment Department EAD:did/EAD:origination[@label = 'department']
format Format EAD:did/EAD:physdesc[@label = 'format']
size Size (in Bytes) EAD:did/EAD:physdesc[@label = 'size']
dimensionsCategory Format EAD:did/EAD:physdesc/EAD:dimensions[@type = 'category' or @role = 'category']
dimensions Dimensions EAD:did/EAD:physdesc/EAD:dimensions[not(@type) and not(@role)]
extentNote 1.5 Note Extent EAD:did/EAD:physdesc/EAD:extent[@type = 'note']
extentPrint Extent (print) EAD:did/EAD:physdesc/EAD:extent[@type = 'print']
extent 1.5 Extent EAD:did/EAD:physdesc/EAD:extent[not(@type)]
extentUnit 1.5 Measure EAD:did/EAD:physdesc/EAD:extent[not(@type)]/@unit
material 1.5 Measure EAD:did/EAD:physdesc/EAD:physfacet
codeLocation Location code EAD:did/EAD:physloc[@label = 'code']
fullLocation Location Description EAD:did/EAD:physloc[@label = 'fullLocation']
creationPeriod Creation Period EAD:did/EAD:unitdate[@label = 'creationPeriod']
creationPeriodNotes Notes EAD:did/EAD:unitdate[@label = 'creationPeriodNotes']
date Date EAD:did/EAD:unitdate[@label = 'date']
from 1.3 From EAD:did/EAD:unitdate[@label = 'from']
fromYear 1.3 From Year EAD:did/EAD:unitdate[@label = 'fromYear']
invalid Invalidation date EAD:did/EAD:unitdate[@label = 'invalid']
letter Letter date EAD:did/EAD:unitdate[@label = 'letter']
relationPeriod Relation period EAD:did/EAD:unitdate[@label = 'relationPeriod']
to 1.3 To EAD:did/EAD:unitdate[@label = 'to']
toYear 1.3 To Year EAD:did/EAD:unitdate[@label = 'toYear']
year Year EAD:did/EAD:unitdate[@label = 'year']
accessionNumber Accessions EAD:did/EAD:unitid[@type = 'accession']
edition Edition EAD:did/EAD:unitid[@type = 'edition']
ISBN ISBN EAD:did/EAD:unitid[@type = 'isbn']
ISSN ISSN EAD:did/EAD:unitid[@type = 'issn']
refCodeIsVisible Reference Code Visible EAD:did/EAD:unitid[@type = 'isVisible']
DOI DOI EAD:did/EAD:unitid[@type = 'otherStandardIdentifier']
publication Publication number EAD:did/EAD:unitid[@type = 'publication']
refCode 1.1 Reference Code EAD:did/EAD:unitid[@type = 'refCode']
refCodeAdmin Administrative Reference Code EAD:did/EAD:unitid[@type = 'refCodeAdmin']
refCodeOld Old Reference Code EAD:did/EAD:unitid[@type = 'refCodeOld']
refCodeSeparator Reference Code Separator EAD:did/EAD:unitid[@type = 'separator']
URN URN EAD:did/EAD:unitid[@type = 'urn']
unitTitleAdditional Additional Title EAD:did/EAD:unittitle[@label = 'additional']
unitTitle 1.2 Title EAD:did/EAD:unittitle[@label = 'main']
unitTitleOriginal Original Title EAD:did/EAD:unittitle[@label = 'original']
unitTitleVarying Varying Form of Title EAD:did/EAD:unittitle[@label = 'varying']
filePlanPosition File Plan Position EAD:fileplan/EAD:note[@type = 'position']/EAD:p
comment 6.1 Notes EAD:note/EAD:p
doiJournal DOI (Journal) EAD:odd[@type = 'doiJournal']/EAD:p
editionStatement Edition Statement EAD:odd[@type = 'edition']/EAD:p
event Event EAD:odd[@type = 'event']/EAD:p
harvestingURL Web harvesting URL EAD:odd[@type = 'harvesting']/EAD:dao[@xlink:role='harvestingURL']/@xlink:href
harvestingDate Web harvesting date EAD:odd[@type = 'harvesting']/EAD:p/EAD:unitdate[@label='harvestingDate']
harvestingFrequency Web harvesting frequency EAD:odd[@type = 'harvesting']/EAD:note[@type='frequency']/EAD:p
harvestingEntryPoint Web harvesting entry point EAD:odd[@type = 'harvesting']/EAD:note[@type='entryPoint']/EAD:p
harvestingEmailRights Web harvesting e-mail of right holder EAD:odd[@type = 'harvesting']/EAD:address/EAD:addressline
project Project EAD:odd[@type = 'project']/EAD:p
projectAbbreviation Project Abbreviation EAD:odd[@type = 'projectAbbreviation']/EAD:p
projectName Project Name EAD:odd[@type = 'projectName']/EAD:p
projectTitle Project Title EAD:odd[@type = 'projectTitle']/EAD:p
usage Usage EAD:odd[@type = 'usage']/EAD:p
locationOfOriginals 5.1 Location of Originals EAD:originalsloc/EAD:p
findingAids 4.5 Finding Aids EAD:otherfindaid/EAD:p
characteristicsNote Characteristic's Note EAD:phystech/EAD:note/EAD:p
characteristics 4.4 Characteristics EAD:phystech/EAD:p
processInfoArchivist 7.1 Archivist EAD:processinfo[@type = 'archivist']/EAD:p
processInfoDate 7.3 Date of Description EAD:processinfo[@type = 'date']/EAD:p
digitization Level of digitization EAD:processinfo[@type = 'digitization']/EAD:p
descriptionLevel Description Level EAD:processinfo[@type = 'level']/EAD:p
descriptionLevelNotes Description Level Notes EAD:processinfo[@type = 'levelNotes']/EAD:p
revisions Revisions EAD:processinfo[@type = 'revisions']/EAD:p
descriptionRules 7.2 Rules & Conventions EAD:processinfo[@type = 'rules']/EAD:p
relatedMaterialExtern Reference EAD:relatedmaterial/EAD:extref[@xlink:role = 'general']
relatedMaterial 5.3 Related Objects EAD:relatedmaterial/EAD:p
scopeContent 3.1 Scope and Content EAD:scopecontent/EAD:p
conditionsOfReproductions 4.2 Reproductions EAD:userestrict/EAD:p