Métadonnées

Structure et configuration de mets.xml et levels.xml

Les fichiers les plus importants pour la configuration et le stockage des métadonnées sont mets.xml et levels.xml. Le fichier levels.xml est situé sous docuteam-packer/config. Il est utilisé pour définir les champs de métadonnées. Le fichier mets.xml est situé dans chaque SIP au niveau supérieur à côté de l'élément racine et contient les métadonnées d'un SIP.

mets.xml

Si un SIP est créé avec docuteam packer, un fichier est automatiquement créé qui contient toutes les métadonnées du paquet. Le fichier est situé dans le SIP au niveau supérieur, à côté de l'élément racine. Il est appelé mets.xml et est structuré selon les spécifications de la norme Matterhorn METS.

Emplacement du fichier mets.xml

Le standard METS Matterhorn combine les standards METS, PREMIS et EAD. Elle précise comment ces trois normes peuvent être utilisées pour décrire un SIP. Vous trouverez de plus amples informations sur le METS Matterhorn ici.

Les métadonnées techniques et administratives sont automatiquement extraites et capturées par docuteam packer. L'utilisateur doit saisir manuellement les métadonnées descriptives dans la vue détaillée du SIP ouvert. Les champs de métadonnées disponibles pour un niveau spécifique et les valeurs autorisées dans ces champs sont définis dans le fichier de configuration levels.xml.

levels.xml

Dans le fichier levels.xml sont effectués des réglages qui ont une influence sur l'affichage et l'utilisation des champs sous l'onglet "Description" dans la vue détaillée d'un SIP. Il est situé sous docuteam-packer/config. Ici, par exemple, vous pouvez définir quels champs doivent être affichés à quel niveau hiérarchique, si un champ est obligatoire, si des valeurs par défaut sont utilisées ou comment une valeur saisie est validée.

Le dossier docuteam-packer/config contient différents fichiers de configuration levels.xml préconfigurés. packer utilise toujours le fichier levels.xml ; en renommant un autre fichier en levels.xml, la configuration peut être adaptée :

  • levels.xml: Version standard avec seulement un niveau de description (le niveau "Non défini") avec tous les champs de métadonnées qui peuvent être utilisés dans packer.
  • levels_BAR.xml: Version pour convertir les paquets Matterhorn METS en eCH-0160.
  • levels_cmi_de.xml Version adaptée pour le système d'archivage d'information CMI AIS.
  • levels_isad-g_de.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en allemand.
  • levels_isad-g_en.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en anglais.
  • levels_isad-g_fr.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en français. Dans la première section de levels.xml (LEVELS:MetadataElements) sont définis tous les éléments de métadonnées disponibles et éventuellement les valeurs autorisées. Pour obtenir une vue d'ensemble de tous les éléments de métadonnées de Packer, consultez la liste des champs de métadonnées.

    La deuxième section de levels.xml (LEVELS:Levels) définit les niveaux de description et l'affectation des éléments de métadonnées à ces niveaux de description.

Éléments de métadonnée

Un LEVELS:MetadataElement est défini par les 6 attributs suivants:

accessorNameId
Exemple accessNr
obligatoire oui
Explication Le nom unique du champ de métadonnées. Cela doit correspondre aux accesseurs indiqués ci-dessous, qui sont utilisés pour accéder aux données dans packer. Si nécessaire, une étiquette individuelle peut être attribuée à un champ de métadonnées pour l'affichage dans l'interface graphique via la configuration i18n.



defaultExpression
Exemples new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()), ((ch.docuteam.darc.mets.structmap.NodeAbstract)object1).getMimeType(), "false"
obligatoire non
Explication Une expression Java pour initialiser ce champ avec une valeur lors de la création du noeud. Le nœud actuel est référencé par : (ch.docuteam.darc.mets.structmap.NodeAbstract)object1



validatorClassName
Exemple ch.docuteam.darc.mdconfig.MetadataElementValidatorDate
obligatoire non
Explication Une classe Java qui valide le contenu de cet élément de métadonnées lorsqu'il est défini. Si la validation n'autorise pas la valeur saisie, un message d'erreur s'affiche et le champ est rempli avec la valeur précédente.



postActionClassName
Exemple ch.docuteam.darc.mdconfig.
MetadataElementSetterPostActionSysOut
obligatoire non
Explication Une classe Java qui exécute toute action après que la valeur de ce champ a été définie. Cette action n'est pas exécutée si la validation de la valeur saisie échoue.



allowedValues
Exemple *;Deutsch;English;Français;Italiano, file:///config/skos/retentions.rdf
obligatoire non
Explication Une liste de valeurs qui s'affiche dans Packer sous forme de liste déroulante. Si le premier élément de cette liste est un astérisque "*", d'autres termes peuvent être saisis en plus des éléments de la liste. \ La liste des valeurs peut également être prédéfinie dans un fichier respectant le schéma SKOS ("Simple Knowledge Organisation System"). Le chemin relatif vers ce fichier RDF doit être fourni dans ce cas.



allowedValuesType
Exemple stringList
obligatoire non
Explication Spécification du type de la liste de sélection des valeurs autorisées. Supportés sont stringList, skosFile et csvFile.



Un exemple:

<LEVELS:MetadataElement
    accessorNameID="retentionPolicy"
    defaultExpression='"Confidential"'
    allowedValues="OpenAccess;EmbargoPeriod30Years;EmbargoPeriod50Years;Confidential"
    allowedValuesType="stringList"/>

L'élément LEVELS:AllowedValuesSeparator permet de définir le séparateur de la liste des valeurs autorisées. Il peut également être composé de plusieurs caractères, comme le montre l'exemple suivant :

<LEVELS:MetadataElements>
	<LEVELS:AllowedValuesSeparator>::</LEVELS:AllowedValuesSeparator>
	<LEVELS:MetadataElement
        accessorNameID="language"
        allowedValues="*::Deutsch::English::Français::Italiano"/>
...
</LEVELS:MetadataElements>



Niveaux de description

Un LEVELS:Level (niveau de description) est défini par les 4 attributs suivants :



nameID
Exemple Archives
obligatoire oui
Explication Le nom unique de ce niveau de description



iconFileName
Exemple resources/images/LevelSerie.png
obligatoire oui
Explication Le chemin vers le fichier d'icône de ce niveau. Si ce fichier n'existe pas, une icône d'avertissement jaune s'affiche.



allowedSublevelNameRefs
Exemple Section Fonds Indéfini
obligatoire non
Explication La liste des sous-niveaux autorisés pour ce niveau de répertoire. Les éléments de cette liste doivent être spécifiés dans ce fichier (comme nameID) et séparés par un espace. Le premier élément de cette liste est défini comme le niveau par défaut pour les nouveaux sous-éléments.



isTrash
Exemple true
obligatoire non
Explication Marquer le niveau de description correspondant comme étant des nœuds à supprimer, par exemple, après une révision par l'organisme de livraison.



Un exemple :

<LEVELS:Level
    nameID="Archives"
    iconFileName="resources/images/LevelSerie.png"
    allowedSublevelNameRefs="Section Fonds Indéfini">
...
</LEVELS:Level>



Affectation des éléments de métadonnées aux niveaux de description

L'affectation des éléments de métadonnées aux niveaux de description est définie par une liste de LEVELS:LevelMetadataElement. Cet élément possède les 7 attributs suivants :

accessorNameRef
Exemple language
obligatoire oui
Explication Le accessorNameID de l'élément de métadonnées ; fait référence à un accessorNameID de la liste des <LEVELS:MetadataElements> (voir ci-dessus).



isMandatory
Exemple true
obligatoire oui
Explication Si true, cet élément de métadonnées est obligatoire. Les éléments obligatoires sont toujours affichés dans la liste des métadonnées. Si un élément obligatoires est vide, l'élément est marqué d'un point d'exclamation.



isRepeatable
Exemple false
obligatoire oui
Explication Si true, cet élément de métadonnées est répétable et peut donc être ajouté plusieurs fois si nécessaire.



isAlwaysDisplayed
Exemple true
obligatoire non
Explication Si true, cet élément de métadonnées est toujours affiché dans la liste des métadonnées et ne doit pas être ajouté manuellement au préalable.



isReadOnly
Exemple false
obligatoire non
Explication Si true, cet élément de métadonnées ne peut pas être modifié manuellement. Si une defaultExpression est spécifiée, l'élément de métadonnées est initialisé avec celle-ci lors de sa création.



keepInTemplate
Exemple false
obligatoire non
Explication Si true, cet élément de métadonnées ne sera pas supprimé lorsqu'un modèle est créé.



displayRows
Exemple 5
obligatoire non
Explication Spécifie le nombre de lignes lors de l'affichage de cet élément de métadonnées dans la liste des métadonnées.



Un exemple:

<LEVELS:LevelMetadataElement
    accessorNameRef="PID"
    isMandatory="false"
    isRepeatable="false"
    isAlwaysDisplayed="true"
    isReadOnly="true"/>

Selon la façon dont les attributs sont définis dans le fichier levels.xml, les champs de métadonnées sont affichés en conséquence dans la vue détaillée d'un SIP.

Si des éléments de métadonnées dynamiques sont définis à titre d'exemples, ils peuvent être sélectionnés dans la liste déroulante en bas à gauche de l'onglet "Description" et ajoutés à la liste en cliquant sur le signe plus.

ajouter dynamiquement des champs de métadonnées

La première colonne de la liste contient, sous forme codée, des informations sur les différents éléments définis dans le fichier levels.xml :

  • Un * signifie que cet élément est un champ obligatoire et qu'il a déjà été rempli. Les champs obligatoires sont toujours visibles.
  • Un ! signifie que l'élément est un champ obligatoire qui n'a pas encore été rempli.
  • Un O signifie que l'élément est toujours visible mais qu'il n'est pas obligatoire de le remplir.
  • Un + signifie que l'élément peut apparaître plus d'une fois.
  • Un X signifie que l'élément ne peut pas être édité.

Liste des champs de métadonnées

Le tableau suivant répertorie tous les champs de métadonnées qui peuvent être utilisés dans Packer avec les informations suivantes.

  • Le accessorNameId utilisé dans levels.xml.
  • Label utilisé par défaut dans Packer. Ces étiquettes peuvent être personnalisées en modifiant les fichiers translation.properties dans docuteam-packer\translations. Le numéro au début de l'étiquette correspond à l'élément ISAD(G) correspondant.
  • Élément EAD associé (version 2002). Spécifié est l'expression xpath relative à un élément c ou archdesc.
accessorNameID Étiquette par défaut dans packer EAD
otherLevelName 1.4 Niveau [@level = 'otherlevel']/@otherlevel
accessPolicy Directive du délai de protection EAD:accessrestrict[@type = 'accessPolicy']/EAD:p
accessRestrictionClassification Catégorie du délai de protection EAD:accessrestrict[@type = 'accessRestrictionsClassification']/EAD:p
accessRestrictionClosureYear Délai de protection jusqu'à EAD:accessrestrict[@type = 'accessRestrictionsClosureYear']/EAD:p
accessRestrictionExplanation Explication du délai de protection EAD:accessrestrict[@type = 'accessRestrictionsExplanation']/EAD:p
accessRestrictionIsMetadataPublic Méta-données publiques EAD:accessrestrict[@type = 'accessRestrictionsIsMetadataPublic']/EAD:p
accessRestrictionIsPublic Données publiques EAD:accessrestrict[@type = 'accessRestrictionsIsPublic']/EAD:p
accessRestrictionPeriod Délai de protection EAD:accessrestrict[@type = 'accessRestrictionsPeriod']/EAD:p
accessRestrictionPeriodBaseYear Année de base pour le délai de protection EAD:accessrestrict[@type = 'accessRestrictionsPeriodBaseYear']/EAD:p
accessRestrictionPrivacy Protection des données EAD:accessrestrict[@type = 'accessRestrictionsPrivacy']/EAD:p
accessRestrictionStatus Etat de protection EAD:accessrestrict[@type = 'accessRestrictionsStatus']/EAD:p
accessRestrictionStatusExplanation Explication de l'état de protection EAD:accessrestrict[@type = 'accessRestrictionsStatusExplanation']/EAD:p
retentionPeriodBaseYear Délai de protection EAD:accessrestrict[@type = 'baseYear']/EAD:p
accessRestriction 4.1 Conditions d'accès EAD:accessrestrict[@type = 'restrictions']/EAD:p
retentionPeriod Délai de protection EAD:accessrestrict[@type = 'retentionPeriod']/EAD:p
retentionPolicy Règle de conservation EAD:accessrestrict[@type = 'retentionPolicy']/EAD:p
usagePermission Autorisation de consultation EAD:accessrestrict[@type = 'usagePermission']/EAD:p
usagePermissionExpiringDate Date d'expiration de l'autorisation de consultation EAD:accessrestrict[@type = 'usagePermissionExpiringDate']/EAD:p
accruals 3.3 Accroissements EAD:accruals/EAD:p
accessNr 2.4 Modalités d'entrée EAD:acqinfo/EAD:p
reproductions 5.2 Copies EAD:altformavail/EAD:p
appraisalDateDisposed Date de l'élimination EAD:appraisal/EAD:note[@type = 'dateDisposed']/EAD:p
appraisalIsOnHold Suspendu EAD:appraisal/EAD:note[@type = 'isOnHold']/EAD:p
appraisalRetentionPeriod Délai de protection EAD:appraisal/EAD:note[@type = 'retentionPeriod']/EAD:p
appraisalAndDestruction 3.2 Évaluation et élimination EAD:appraisal/EAD:p
arrangement 3.4 Mode de classement EAD:arrangement/EAD:p
bibliography 5.4 Bibliographie EAD:bibliography/EAD:p
dateOfBirth Date de naissance EAD:bioghist/EAD:note[@type = 'dateBirth']/EAD:p
firstname Prénom EAD:bioghist/EAD:note[@type = 'firstName']/EAD:p
lastname Nom EAD:bioghist/EAD:note[@type = 'lastName']/EAD:p
nationality Nationalité EAD:bioghist/EAD:note[@type = 'nationality']/EAD:p
sex Sexe EAD:bioghist/EAD:note[@type = 'sex']/EAD:p
deathOfAuthor Mort de l'auteur EAD:bioghist/EAD:note[not(@type)]/EAD:p/EAD:date[@type = 'deathAuthor']
biographicalHistory 2.2 Historique de l'administration EAD:bioghist/EAD:p
institutionCreator Institution productrice EAD:controlaccess/EAD:corpname[@role = 'creator']
institutionInvolved Institution impliquée EAD:controlaccess/EAD:corpname[@role = 'involved']
institution Institution EAD:controlaccess/EAD:corpname[not(@role)]
familyName Nom de famille EAD:controlaccess/EAD:famname[@role = 'general']
function Activité EAD:controlaccess/EAD:function[@rules = 'general']
objectType Type EAD:controlaccess/EAD:genreform
geogName Nom géographique EAD:controlaccess/EAD:geogname[@role = 'general']
authorGeneric Auteur EAD:controlaccess/EAD:name[@role = 'author']
compartment Département EAD:controlaccess/EAD:name[@role = 'compartment']
designer Graphiste EAD:controlaccess/EAD:name[@role = 'designer']
editor Éditeur/éditrice EAD:controlaccess/EAD:name[@role = 'editor']
fundingSource Financement EAD:controlaccess/EAD:name[@role = 'fundingSource']
illustrator Dessinateur/dessinatrice EAD:controlaccess/EAD:name[@role = 'illustrator']
institute Institut EAD:controlaccess/EAD:name[@role = 'institute']
journal Journal EAD:controlaccess/EAD:name[@role = 'journal']
keyword Mot-clé EAD:controlaccess/EAD:name[@role = 'keyword']
location Lieu EAD:controlaccess/EAD:name[@role = 'location']
method Méthode EAD:controlaccess/EAD:name[@role = 'method']
photographer Photographe EAD:controlaccess/EAD:name[@role = 'photographer']
placeOfPublication Lieu de publication EAD:controlaccess/EAD:name[@role = 'placeOfPublication']
publisher Editeur EAD:controlaccess/EAD:name[@role = 'publisher']
status Statut EAD:controlaccess/EAD:name[@role = 'status']
submitStatus Etat de la deposition EAD:controlaccess/EAD:name[@role = 'submitStatus']
typeOfAcquisition Type d’acquisition EAD:controlaccess/EAD:name[@role = 'typeOfAcquisition']
university Université EAD:controlaccess/EAD:name[@role = 'university']
occupation Fonction EAD:controlaccess/EAD:occupation[@rules = 'general']
author Auteur EAD:controlaccess/EAD:persname[@role = 'author']
creator Producteur EAD:controlaccess/EAD:persname[@role = 'creator']
involved Personne impliquée EAD:controlaccess/EAD:persname[@role = 'involved']
responsible Responsable EAD:controlaccess/EAD:persname[@role = 'responsible']
staff Membre de l'équipe EAD:controlaccess/EAD:persname[@role = 'staff']
subjectGeneral Sujet général EAD:controlaccess/EAD:subject[@rules = 'general']
subject Sujet EAD:controlaccess/EAD:subject[not(@rules) and not(@role)]
uniformTitle Titre de l'unité EAD:controlaccess/EAD:title[@type = 'uniform']
modeOfAcquisition Mode d'acquisition EAD:custodhist/EAD:acqinfo/EAD:p
sourceType Type d'accès EAD:custodhist/EAD:note/EAD:p
archivalHistory 2.3 Historique de la conservation EAD:custodhist/EAD:p
PID Doc ID EAD:dao[@xlink:role = 'simple']/@xlink:href
abstract Résumé EAD:did/EAD:abstract
languageNotes Remarque langue EAD:did/EAD:langmaterial/@label
language 4.3 Langue EAD:did/EAD:langmaterial/EAD:language
cartographicMaterial Données mathématiques cartographiques EAD:did/EAD:materialspec[@label = 'cartographic']
scale Échelle EAD:did/EAD:materialspec[@label = 'scale']
origination Créateur EAD:did/EAD:origination
originationAgency Service EAD:did/EAD:origination[@label = 'agency']
originationDepartment Département EAD:did/EAD:origination[@label = 'department']
format Format EAD:did/EAD:physdesc[@label = 'format']
size Taille (octets) 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 importance matérielle EAD:did/EAD:physdesc/EAD:extent[@type = 'note']
extentPrint Étendue (imprimé) EAD:did/EAD:physdesc/EAD:extent[@type = 'print']
extent 1.5 Importance matérielle EAD:did/EAD:physdesc/EAD:extent[not(@type)]
extentUnit 1.5 Unité de mesure EAD:did/EAD:physdesc/EAD:extent[not(@type)]/@unit
material 1.5 Unité de mesure EAD:did/EAD:physdesc/EAD:physfacet
codeLocation Cote de localisation EAD:did/EAD:physloc[@label = 'code']
fullLocation Description de la localisation EAD:did/EAD:physloc[@label = 'fullLocation']
creationPeriod Date d'enregistrement EAD:did/EAD:unitdate[@label = 'creationPeriod']
creationPeriodNotes Remarques période de création EAD:did/EAD:unitdate[@label = 'creationPeriodNotes']
date Date EAD:did/EAD:unitdate[@label = 'date']
from 1.3 Depuis EAD:did/EAD:unitdate[@label = 'from']
fromYear 1.3 Date début EAD:did/EAD:unitdate[@label = 'fromYear']
invalid Date d’invalidation EAD:did/EAD:unitdate[@label = 'invalid']
letter Date de lettre EAD:did/EAD:unitdate[@label = 'letter']
relationPeriod Period liée EAD:did/EAD:unitdate[@label = 'relationPeriod']
to 1.3 Jusque EAD:did/EAD:unitdate[@label = 'to']
toYear 1.3 Date fin EAD:did/EAD:unitdate[@label = 'toYear']
year Année EAD:did/EAD:unitdate[@label = 'year']
accessionNumber Numéro d'entrée EAD:did/EAD:unitid[@type = 'accession']
edition Édition EAD:did/EAD:unitid[@type = 'edition']
ISBN ISBN EAD:did/EAD:unitid[@type = 'isbn']
ISSN ISSN EAD:did/EAD:unitid[@type = 'issn']
refCodeIsVisible Visibilité de la référence EAD:did/EAD:unitid[@type = 'isVisible']
DOI DOI EAD:did/EAD:unitid[@type = 'otherStandardIdentifier']
publication Numéro de publication EAD:did/EAD:unitid[@type = 'publication']
refCode 1.1 Référence EAD:did/EAD:unitid[@type = 'refCode']
refCodeAdmin Classement RM EAD:did/EAD:unitid[@type = 'refCodeAdmin']
refCodeOld Ancienne référence EAD:did/EAD:unitid[@type = 'refCodeOld']
refCodeSeparator Séparateur de la référence EAD:did/EAD:unitid[@type = 'separator']
unitTitleAdditional Titre supplémentaire EAD:did/EAD:unittitle[@label = 'additional']
unitTitle 1.2 Titre EAD:did/EAD:unittitle[@label = 'main']
unitTitleOriginal Titre original EAD:did/EAD:unittitle[@label = 'original']
unitTitleVarying Forme alternative du nom EAD:did/EAD:unittitle[@label = 'varying']
filePlanPosition Postion du plan de classement 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 Description de l'édition EAD:odd[@type = 'edition']/EAD:p
event Evènement EAD:odd[@type = 'event']/EAD:p
project Projet EAD:odd[@type = 'project']/EAD:p
projectAbbreviation Abbréviation du projet EAD:odd[@type = 'projectAbbreviation']/EAD:p
projectName Nom du projet EAD:odd[@type = 'projectName']/EAD:p
projectTitle Titre du projet EAD:odd[@type = 'projectTitle']/EAD:p
usage Utilisation EAD:odd[@type = 'usage']/EAD:p
locationOfOriginals 5.1 Originaux EAD:originalsloc/EAD:p
findingAids 4.5 Instruments de recherche EAD:otherfindaid/EAD:p
characteristicsNote Notes sur la nature physique EAD:phystech/EAD:note/EAD:p
characteristics Format de fichier EAD:phystech/EAD:p
processInfoArchivist 7.1 Archiviste EAD:processinfo[@type = 'archivist']/EAD:p
processInfoDate 7.3 Date de la description EAD:processinfo[@type = 'date']/EAD:p
digitization Degré de numérisation EAD:processinfo[@type = 'digitization']/EAD:p
descriptionLevel Niveau de description EAD:processinfo[@type = 'level']/EAD:p
descriptionLevelNotes Remarques niveau de description EAD:processinfo[@type = 'levelNotes']/EAD:p
revisions Révisions EAD:processinfo[@type = 'revisions']/EAD:p
descriptionRules 7.2 Règles ou conventions de description EAD:processinfo[@type = 'rules']/EAD:p
relatedMaterialExtern Référence EAD:relatedmaterial/EAD:extref[@xlink:role = 'general']
relatedMaterial 5.3 Sources complémentaires EAD:relatedmaterial/EAD:p
scopeContent 3.1 Contenu EAD:scopecontent/EAD:p
conditionsOfReproductions 4.2 Conditions de reproduction EAD:userestrict/EAD:p