Metadaten

Aufbau und Konfiguration von mets.xml und levels.xml

Die wohl wichtigsten Dateien für die Konfiguration und Speicherung von Metadaten sind das mets.xml und das levels.xml. Das levels.xml befindet sich unter docuteam-packer/docuteam packer.app/Contents/docuteam packer/config. Es dient dazu, die Metadatenfelder zu bestimmen. Das mets.xml befindet sich in jedem SIP auf oberster Ebene neben dem Root-Element und enthält die Metadaten eines SIP.

mets.xml

Wird mit docuteam packer ein SIP erstellt, wird automatisch eine Datei angelegt, die sämtlichen Metadaten des Pakets enthält. Die Datei befindet sich im SIP auf der obersten Stufe neben dem Root-Element. Sie heisst mets.xml und ist nach den Vorgaben des Standards Matterhorn METS aufgebaut.

Speicherort des mets.xml

Der Standard Matterhorn METS kombiniert die Standards METS, PREMIS und EAD. Er gibt vor, wie diese drei Standards für die Beschreibung eines SIP eingesetzt werden können. Weitere Informationen zu Matterhorn METS finden sich hier.

Technische und administrative Metadaten werden von docuteam packer automatisch extrahiert und erfasst. Die beschreibenden Metadaten muss der Nutzer in der Detailansicht des geöffneten SIP von Hand eingeben. Welche Metadatenfelder für welche Stufe zur Verfügung stehen und welche Werte darin erlaubt sind, wird in der Konfigurationsdatei levels.xml definiert.

levels.xml

Im levels.xml werden Einstellung vorgenommen, die einen Einfluss haben auf die Darstellung und Nutzung der Felder unter dem Tab "Beschreibung" in der Detailansicht eines SIP. Es befindet sich unter docuteam-packer/docuteam packer.app/Contents/docuteam packer/config. Hier kann Beispielsweise festgelegt werden, welche Felder bei welcher Verzeichnungsebene angezeigt werden sollen, ob ein einzelnes Feld zwingend auszufüllen ist, ob Standardwerte verwendet werden oder wie ein eingegebener Wert validiert wird.

In der ersten Sektion von levels.xml (LEVELS:MetadataElements) werden alle zur Verfügung stehenden Metadaten-Elemente und gegebenenfalls erlaubte Werte definiert.

In der zweiten Sektion von levels.xml (LEVELS:Levels) werden die Verzeichnungsebenen sowie die Zuweisung von Metadaten-Elementen zu diesen Verzeichnungsebenen definiert.

Metadaten-Elemente

Ein LEVELS:MetadataElement wird durch die folgenden 6 Attribute definiert:

accessorNameId
Beispiel accessNr
obligatorisch ja
Erklärung Der eindeutige Name des Metadatenfelds. Dieses muss den unten ersichtlichen Akzessoren entsprechen, mit welchen in packer auf die Daten zugegriffen wird. Über die i18n-Konfiguration kann im Bedarfsfall einem Metadaten-Feld ein individuelles Label zugewiesen werden für die Anzeige im GUI.



defaultExpression
Beispiele new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()), ((ch.docuteam.darc.METS.structmap.NodeAbstract)object1). getMimeType(), "false", 'false'
obligatorisch nein
Erklärung Ein Java-Ausdruck, um dieses Feld beim Erstellen mit einem Wert zu initialisieren. Der aktuelle Knoten wird referenziert durch: (ch.docuteam.darc.METS.structmap.NodeAbstract)object1



validatorClassName
Beispiel ch.docuteam.darc.mdconfig.MetadataElementValidatorDate
obligatorisch nein
Erklärung Eine Java-Klasse, die den Inhalt dieses Metadaten-Elementes beim Setzen validiert. Falls die Validierung den eingegebenen Wert nicht erlaubt, wird eine Fehlermeldung angezeigt und das Feld mit dem vorigen Wert gefüllt.



postActionClassName
Beispiel ch.docuteam.darc.mdconfig.
MetadataElementSetterPostActionSysOut
obligatorisch nein
Erklärung Eine Java-Klasse, die beliebige Aktionen ausführt, nachdem der Wert dieses Feldes gesetzt wurde. Diese Aktion wird nicht ausgeführt, wenn die Validierung des eingegebenen Werts fehlschlägt.



allowedValues
Beispiel *;Deutsch;English;Français;Italiano, file:///config/skos/retentions.rdf
obligatorisch nein
Erklärung Eine Liste von Werten, die in packer als DropDown-Liste dargestellt wird. Ist das erste Element dieser Liste ein Asterisk "*", können zusätzlich zu den Listenelementen auch beliebige andere Begriffe eingegeben werden. \ Die Liste von Werten darf ebenfalls in einer Datei, welche das SKOS-Schema ("Simple Knowledge Organization System") respektiert, vordefiniert werden. Der relative Pfad zu dieser RDF-Datei muss in diesem Fall geliefert werden.



allowedValuesType
Beispiel stringList
obligatorisch nein
Erklärung Angabe zum Typ der Auswahlliste erlaubter Werte. Unterstützt sind stringList, skosFile und csvFile.



Ein Beispiel:

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

Mit dem Element LEVELS:AllowedValuesSeparator kann der Separator der allowedValues-Liste eingestellt werden. Dieser kann auch aus mehreren Zeichen bestehen, wie folgendes Beispiel zeigt:

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



Verzeichnungsebenen

Ein LEVELS:Level (Verzeichnungsebene) wird durch folgende 4 Attribute definiert:



nameID
Beispiel Archiv
obligatorisch ja
Erklärung Der eindeutige Name dieser Verzeichnungsebene



iconFileName
Beispiel resources/images/LevelSerie.png
obligatorisch ja
Erklärung Der Pfad zur Icon-Datei dieser Ebene. Wenn diese Datei nicht existiert, wird ein gelbes Warn-Icon angezeigt.



allowedSublevelNameRefs
Beispiel Abteilung Bestand Undefiniert
obligatorisch nein
Erklärung Die Liste der für diese Verzeichnungsebene erlaubten Unterebenen. Die Elemente dieser Liste müssen in dieser Datei spezifiziert sein (als nameID) und durch ein Leerzeichen getrennt werden. Das erste Element dieser Liste wird bei neuen Unterelementen als Standardebene gesetzt.



isTrash
Beispiel true
obligatorisch nein
Erklärung Markiert die entsprechende Verzeichnungsstufe als zu löschende Knoten, die beispielsweise nach einem Review durch die abliefernde Stelle kassiert werden sollen.



Ein Beispiel:

<LEVELS:Level
    nameID="Archiv"
    iconFileName="resources/images/LevelSerie.png"
    allowedSublevelNameRefs="Abteilung Bestand Undefiniert">
...
</LEVELS:Level>



Zuweisung von Metadaten-Elementen zu Verzeichnungsebenen

Die Zuweisung von Metadaten-Elementen zu Verzeichnungsebenen wird durch eine Liste von LEVELS:LevelMetadataElement definiert. Dieses Element verfügt über die folgenden 7 Attribute:

accessorNameRef
Beispiel language
obligatorisch ja
Erklärung Die accessorNameID des Metadaten-Elementes; referenziert eine accessorNameID aus der Liste der <LEVELS:MetadataElements> (siehe oben)



isMandatory
Beispiel true
obligatorisch ja
Erklärung Wenn true, ist dieses Metadaten-Element obligatorisch. Obligatorische Elemente werden immer in der Metadaten-Liste angezeigt. Wenn ein obligatorisches Element leer ist, wird das Element mit einem Ausrufezeichen markiert.



isRepeatable
Beispiel false
obligatorisch ja
Erklärung Wenn true, ist dieses Metadaten-Elemente wiederholbar und kann entsprechend mehrfach nach Bedarf zugefügt werden.



isAlwaysDisplayed
Beispiel true
obligatorisch nein
Erklärung Wenn true, wird dieses Metadaten-Element immer in der Metadaten-Liste angezeigt und muss nicht zuerst manuell hinzugefügt werden.



isReadOnly
Beispiel false
obligatorisch nein
Erklärung Wenn true, kann dieses Metadaten-Element manuell nicht geändert werden. Ist eine "defaultExpression" angegeben, wird das Metadaten-Element beim Erstellen damit initialisiert.



keepInTemplate
Beispiel false
obligatorisch nein
Erklärung Wenn true, wird dieses Metadaten-Element beim Erstellen einer Vorlage nicht gelöscht.



displayRows
Beispiel 5
obligatorisch nein
Erklärung Gibt die Anzahl der Zeilen bei der Darstellung dieses Metadaten-Elementes in der Metadaten-Liste an.



Ein Beispiel:

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

Je nach dem wie die Attribute im levels.xml definiert sind, werden die Metadatenfelder in der Detailansicht eines SIP entsprechend angezeigt.

Werden Beispielsweise dynamische Metadaten-Elemente definiert, können diese im Tab "Beschreibung" aus der Dropdownliste unten links ausgewählt und durck Klicken auf das Pluszeichen zur Liste hinzugefügt werden.

Metadatenfelder dynamisch hinzufügen

Die erste Spalte in der Liste enthält in codierter Form Informationen zu den einzelnen Elementen, die im levels.xml definiert wurden:

  • Ein * bedeutet, dass dieses Element ein Pflichtfeld ist und bereits ausgefüllt wurde. Pflichtfelder sind immer sichtbar.
  • Ein ! bedeutet, dass das Element ein Pflichtfeld ist, das noch nicht ausgefüllt wurde.
  • Ein O bedeutet, dass das Element immer sichtbar ist, aber nicht zwingend ausgefüllt werden muss.
  • Ein + bedeutet, dass das Element mehrmals vorkommen kann.
  • Ein X bedeuted, dass das Element nicht ediert werden kann.