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.
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(newjava.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
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.
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.
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.
Mit dem Element LEVELS:AllowedValuesSeparator kann der Separator der allowedValues-Liste eingestellt werden. Dieser kann auch aus mehreren Zeichen bestehen, wie folgendes Beispiel zeigt:
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:LevelnameID="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.
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.
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.