Skip to main content

Matterhorn METS

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.
accessorNameIDDefault field label in packerEAD
otherLevelName1.4 Level[@level = 'otherlevel']/@otherlevel
accessPolicyAccess PolicyEAD:accessrestrict[@type = 'accessPolicy']/EAD:p
accessRestrictionClassificationClassificationEAD:accessrestrict[@type = 'accessRestrictionsClassification']/EAD:p
accessRestrictionClosureYearAccess Restriction Until YearEAD:accessrestrict[@type = 'accessRestrictionsClosureYear']/EAD:p
accessRestrictionExplanationAccess Restriction ExplanationEAD:accessrestrict[@type = 'accessRestrictionsExplanation']/EAD:p
accessRestrictionIsMetadataPublicPublish MetadataEAD:accessrestrict[@type = 'accessRestrictionsIsMetadataPublic']/EAD:p
accessRestrictionIsPublicPublish DocumentsEAD:accessrestrict[@type = 'accessRestrictionsIsPublic']/EAD:p
accessRestrictionPeriodAccess Restriction PeriodEAD:accessrestrict[@type = 'accessRestrictionsPeriod']/EAD:p
accessRestrictionPeriodBaseYearAccess Restriction Period Since YearEAD:accessrestrict[@type = 'accessRestrictionsPeriodBaseYear']/EAD:p
accessRestrictionPrivacyPrivacyEAD:accessrestrict[@type = 'accessRestrictionsPrivacy']/EAD:p
accessRestrictionStatusAccess Restriction StatusEAD:accessrestrict[@type = 'accessRestrictionsStatus']/EAD:p
accessRestrictionStatusExplanationAccess Restriction Status ExplanationEAD:accessrestrict[@type = 'accessRestrictionsStatusExplanation']/EAD:p
retentionPeriodBaseYearRetention Period Since YearEAD:accessrestrict[@type = 'baseYear']/EAD:p
accessRestriction4.1 Access RulesEAD:accessrestrict[@type = 'restrictions']/EAD:p
retentionPeriodRetention PeriodEAD:accessrestrict[@type = 'retentionPeriod']/EAD:p
retentionPolicyRetention PolicyEAD:accessrestrict[@type = 'retentionPolicy']/EAD:p
usagePermissionUsage permissionEAD:accessrestrict[@type = 'usagePermission']/EAD:p
usagePermissionExpiringDateUsage permission expiring dateEAD:accessrestrict[@type = 'usagePermissionExpiringDate']/EAD:p
accruals3.3 AccrualsEAD:accruals/EAD:p
accessNr2.4 Source of AcquisitionEAD:acqinfo/EAD:p
reproductions5.2 Location of CopiesEAD:altformavail/EAD:p
appraisalDateDisposedDate Of DestructionEAD:appraisal/EAD:note[@type = 'dateDisposed']/EAD:p
appraisalHoldRuleHold RuleEAD:appraisal/EAD:note[@type = 'holdRule']/EAD:p
appraisalHoldOwnerHold OwnerEAD:appraisal/EAD:note[@type = 'holdOwner']/EAD:p
appraisalHoldReasonHold ReasonEAD:appraisal/EAD:note[@type = 'holdReason']/EAD:p
appraisalHoldStartDateHold Start DateEAD:appraisal/EAD:note[@type = 'holdStartDate']/EAD:p
appraisalHoldEndDateHold End DateEAD:appraisal/EAD:note[@type = 'holdEndDate']/EAD:p
appraisalHoldReassessingDateHold Reassessing DateEAD:appraisal/EAD:note[@type = 'holdReassessingDate']/EAD:p
appraisalIsOnHoldIs On HoldEAD:appraisal/EAD:note[@type = 'isOnHold']/EAD:p
appraisalRetentionPeriodRetention PeriodEAD:appraisal/EAD:note[@type = 'retentionPeriod']/EAD:p
appraisalAndDestruction3.2 AppraisalEAD:appraisal/EAD:p
arrangement3.4 ArrangementEAD:arrangement/EAD:p
bibliography5.4 PublicationsEAD:bibliography/EAD:p
dateOfBirthDate of birthEAD:bioghist/EAD:note[@type = 'dateBirth']/EAD:p
firstnameFirstnameEAD:bioghist/EAD:note[@type = 'firstName']/EAD:p
lastnameLastnameEAD:bioghist/EAD:note[@type = 'lastName']/EAD:p
nationalityNationalityEAD:bioghist/EAD:note[@type = 'nationality']/EAD:p
sexSexEAD:bioghist/EAD:note[@type = 'sex']/EAD:p
deathOfAuthorDeath of AuthorEAD:bioghist/EAD:note[not(@type)]/EAD:p/EAD:date[@type = 'deathAuthor']
biographicalHistory2.2 Administrative HistoryEAD:bioghist/EAD:p
institutionCreatorInstitution CreatorEAD:controlaccess/EAD:corpname[@role = 'creator']
institutionInvolvedInstitution InvolvedEAD:controlaccess/EAD:corpname[@role = 'involved']
institutionInstitutionEAD:controlaccess/EAD:corpname[not(@role)]
familyNameFamily nameEAD:controlaccess/EAD:famname[@role = 'general']
functionFunctionEAD:controlaccess/EAD:function[@rules = 'general']
objectTypeTypeEAD:controlaccess/EAD:genreform
geogNameGeographic NameEAD:controlaccess/EAD:geogname[@role = 'general']
authorGenericAuthorEAD:controlaccess/EAD:name[@role = 'author']
compartmentCompartmentEAD:controlaccess/EAD:name[@role = 'compartment']
designerDesignerEAD:controlaccess/EAD:name[@role = 'designer']
editorEditorEAD:controlaccess/EAD:name[@role = 'editor']
fundingSourceFunding SourceEAD:controlaccess/EAD:name[@role = 'fundingSource']
illustratorDraftsmanEAD:controlaccess/EAD:name[@role = 'illustrator']
instituteInstituteEAD:controlaccess/EAD:name[@role = 'institute']
journalJournalEAD:controlaccess/EAD:name[@role = 'journal']
keywordKeywordEAD:controlaccess/EAD:name[@role = 'keyword']
locationLocationEAD:controlaccess/EAD:name[@role = 'location']
methodMethodEAD:controlaccess/EAD:name[@role = 'method']
photographerPhotographerEAD:controlaccess/EAD:name[@role = 'photographer']
placeOfPublicationPlace of PublicationEAD:controlaccess/EAD:name[@role = 'placeOfPublication']
publisherPublisherEAD:controlaccess/EAD:name[@role = 'publisher']
statusStatusEAD:controlaccess/EAD:name[@role = 'status']
submitStatusSubmit statusEAD:controlaccess/EAD:name[@role = 'submitStatus']
typeOfAcquisitionType of AcquisitionEAD:controlaccess/EAD:name[@role = 'typeOfAcquisition']
universityUniversityEAD:controlaccess/EAD:name[@role = 'university']
occupationOccupationEAD:controlaccess/EAD:occupation[@rules = 'general']
authorAuthorEAD:controlaccess/EAD:persname[@role = 'author']
creatorCreatorEAD:controlaccess/EAD:persname[@role = 'creator']
involvedInvolvedEAD:controlaccess/EAD:persname[@role = 'involved']
responsibleResponsibleEAD:controlaccess/EAD:persname[@role = 'responsible']
staffStaff MemberEAD:controlaccess/EAD:persname[@role = 'staff']
subjectGeneralGeneral SubjectEAD:controlaccess/EAD:subject[@rules = 'general']
subjectSubjectEAD:controlaccess/EAD:subject[not(@rules) and not(@role)]
uniformTitleUniform TitleEAD:controlaccess/EAD:title[@type = 'uniform']
modeOfAcquisitionMode of acquisitionEAD:custodhist/EAD:acqinfo/EAD:p
sourceTypeAvailabilityEAD:custodhist/EAD:note/EAD:p
archivalHistory2.3 Archival HistoryEAD:custodhist/EAD:p
PIDPIDEAD:dao[@xlink:role = 'simple']/@xlink:href
registrationURLURL for URN registrierungEAD:daogrp[@xlink:role = 'registrationURL']/EAD:daoloc/@xlink:href
sourceURLSource URLEAD:daogrp[@xlink:role = 'sourceURL']/EAD:daoloc/@xlink:href
abstractAbstractEAD:did/EAD:abstract
languageNotesLanguage NotesEAD:did/EAD:langmaterial/@label
language4.3 LanguageEAD:did/EAD:langmaterial/EAD:language
cartographicMaterialCartographic Mathematical DataEAD:did/EAD:materialspec[@label = 'cartographic']
scaleScaleEAD:did/EAD:materialspec[@label = 'scale']
originationOriginationEAD:did/EAD:origination
originationAgencyAgencyEAD:did/EAD:origination[@label = 'agency']
originationDepartmentDepartmentEAD:did/EAD:origination[@label = 'department']
formatFormatEAD:did/EAD:physdesc[@label = 'format']
sizeSize (in Bytes)EAD:did/EAD:physdesc[@label = 'size']
dimensionsCategoryFormatEAD:did/EAD:physdesc/EAD:dimensions[@type = 'category' or @role = 'category']
dimensionsDimensionsEAD:did/EAD:physdesc/EAD:dimensions[not(@type) and not(@role)]
extentNote1.5 Note ExtentEAD:did/EAD:physdesc/EAD:extent[@type = 'note']
extentPrintExtent (print)EAD:did/EAD:physdesc/EAD:extent[@type = 'print']
extent1.5 ExtentEAD:did/EAD:physdesc/EAD:extent[not(@type)]
extentUnit1.5 MeasureEAD:did/EAD:physdesc/EAD:extent[not(@type)]/@unit
material1.5 MeasureEAD:did/EAD:physdesc/EAD:physfacet
codeLocationLocation codeEAD:did/EAD:physloc[@label = 'code']
fullLocationLocation DescriptionEAD:did/EAD:physloc[@label = 'fullLocation']
creationPeriodCreation PeriodEAD:did/EAD:unitdate[@label = 'creationPeriod']
creationPeriodNotesNotesEAD:did/EAD:unitdate[@label = 'creationPeriodNotes']
dateDateEAD:did/EAD:unitdate[@label = 'date']
from1.3 FromEAD:did/EAD:unitdate[@label = 'from']
fromYear1.3 From YearEAD:did/EAD:unitdate[@label = 'fromYear']
invalidInvalidation dateEAD:did/EAD:unitdate[@label = 'invalid']
letterLetter dateEAD:did/EAD:unitdate[@label = 'letter']
relationPeriodRelation periodEAD:did/EAD:unitdate[@label = 'relationPeriod']
to1.3 ToEAD:did/EAD:unitdate[@label = 'to']
toYear1.3 To YearEAD:did/EAD:unitdate[@label = 'toYear']
yearYearEAD:did/EAD:unitdate[@label = 'year']
accessionNumberAccessionsEAD:did/EAD:unitid[@type = 'accession']
editionEditionEAD:did/EAD:unitid[@type = 'edition']
ISBNISBNEAD:did/EAD:unitid[@type = 'isbn']
ISSNISSNEAD:did/EAD:unitid[@type = 'issn']
refCodeIsVisibleReference Code VisibleEAD:did/EAD:unitid[@type = 'isVisible']
DOIDOIEAD:did/EAD:unitid[@type = 'otherStandardIdentifier']
publicationPublication numberEAD:did/EAD:unitid[@type = 'publication']
refCode1.1 Reference CodeEAD:did/EAD:unitid[@type = 'refCode']
refCodeAdminAdministrative Reference CodeEAD:did/EAD:unitid[@type = 'refCodeAdmin']
refCodeOldOld Reference CodeEAD:did/EAD:unitid[@type = 'refCodeOld']
refCodeSeparatorReference Code SeparatorEAD:did/EAD:unitid[@type = 'separator']
URNURNEAD:did/EAD:unitid[@type = 'urn']
unitTitleAdditionalAdditional TitleEAD:did/EAD:unittitle[@label = 'additional']
unitTitle1.2 TitleEAD:did/EAD:unittitle[@label = 'main']
unitTitleOriginalOriginal TitleEAD:did/EAD:unittitle[@label = 'original']
unitTitleVaryingVarying Form of TitleEAD:did/EAD:unittitle[@label = 'varying']
filePlanPositionFile Plan PositionEAD:fileplan/EAD:note[@type = 'position']/EAD:p
comment6.1 NotesEAD:note/EAD:p
doiJournalDOI (Journal)EAD:odd[@type = 'doiJournal']/EAD:p
editionStatementEdition StatementEAD:odd[@type = 'edition']/EAD:p
eventEventEAD:odd[@type = 'event']/EAD:p
harvestingURLWeb harvesting URLEAD:odd[@type = 'harvesting']/EAD:dao[@xlink:role='harvestingURL']/@xlink:href
harvestingDateWeb harvesting dateEAD:odd[@type = 'harvesting']/EAD:p/EAD:unitdate[@label='harvestingDate']
harvestingFrequencyWeb harvesting frequencyEAD:odd[@type = 'harvesting']/EAD:note[@type='frequency']/EAD:p
harvestingEntryPointWeb harvesting entry pointEAD:odd[@type = 'harvesting']/EAD:note[@type='entryPoint']/EAD:p
harvestingEmailRightsWeb harvesting e-mail of right holderEAD:odd[@type = 'harvesting']/EAD:address/EAD:addressline
projectProjectEAD:odd[@type = 'project']/EAD:p
projectAbbreviationProject AbbreviationEAD:odd[@type = 'projectAbbreviation']/EAD:p
projectNameProject NameEAD:odd[@type = 'projectName']/EAD:p
projectTitleProject TitleEAD:odd[@type = 'projectTitle']/EAD:p
usageUsageEAD:odd[@type = 'usage']/EAD:p
locationOfOriginals5.1 Location of OriginalsEAD:originalsloc/EAD:p
findingAids4.5 Finding AidsEAD:otherfindaid/EAD:p
characteristicsNoteCharacteristic's NoteEAD:phystech/EAD:note/EAD:p
characteristics4.4 CharacteristicsEAD:phystech/EAD:p
processInfoArchivist7.1 ArchivistEAD:processinfo[@type = 'archivist']/EAD:p
processInfoDate7.3 Date of DescriptionEAD:processinfo[@type = 'date']/EAD:p
digitizationLevel of digitizationEAD:processinfo[@type = 'digitization']/EAD:p
descriptionLevelDescription LevelEAD:processinfo[@type = 'level']/EAD:p
descriptionLevelNotesDescription Level NotesEAD:processinfo[@type = 'levelNotes']/EAD:p
revisionsRevisionsEAD:processinfo[@type = 'revisions']/EAD:p
descriptionRules7.2 Rules & ConventionsEAD:processinfo[@type = 'rules']/EAD:p
relatedMaterialExternReferenceEAD:relatedmaterial/EAD:extref[@xlink:role = 'general']
relatedMaterial5.3 Related ObjectsEAD:relatedmaterial/EAD:p
scopeContent3.1 Scope and ContentEAD:scopecontent/EAD:p
conditionsOfReproductions4.2 ReproductionsEAD:userestrict/EAD:p