-
Notifications
You must be signed in to change notification settings - Fork 63
aDIS MODS Import via SRU und Datei Upload
Mit Kitodo.Production können durch diese Erweiterung Metadaten im MODS-Format aus dem Bibliothekssystem aDIS über eine SRU-Schnittstelle oder per Datei-Upload importiert werden. Der Import über die aDIS-Schnittstelle, beziehungsweise durch den Datei-Upload ist eine Erweiterung des bestehenden MODS-Plugins und wird im Formular zum Anlegen neuer Vorgänge umgesetzt.
Die Erweiterung wurde durch die Erstellung, beziehungsweise die Anpassung der folgenden Dateien realisiert:
- Die Definition und die Konfiguration der SRU-Schnittstelle, beziehungsweise des Datei-Uploads erfolgt über die Konfigurationsdatei
kitodo_mods_opac.xml
. - Die Definition und die Konfiguration des Metadatenimports erfolgt über die Konfigurationsdatei mappingFile, in diesem Fall
adis2kitodo.xsl
. Die Benennung der Datei kann angepasst werden.
In dem Element wird der Name der XSLT-Datei eingetragen, die die Abbildung von Katalog- auf Kitodo-Metadatenfelder enthält.
<mappingFile>adis2kitodo.xsl</mappingFile>
Siehe auch: https://github.com/kitodo/kitodo-production/wiki/Kalliope-SRU-deutsch#abbildungsdatei
In dem Element wird der XPath des Elements eingetragen, in dem die ID des gesuchten Datensatzes enthalten ist. In diesem Fall SATZNR.
<identifierParameter value="SATZNR" />
In dem Element werden durch die Unterelemente weitere Suchfelder definiert. In diesem Anwendungsfall wird jedoch nur eine Suchmöglichkeit angeboten. Deshalb wird diese Funktion nicht weiter erläutert.
Siehe auch: https://github.com/kitodo/kitodo-production/wiki/Kalliope-SRU-deutsch#suchfelder
In dem Element wird der XPath des Elements eingetragen, mit dem man das Eltern-Element identifizieren kann. Dazu werden über diese Konfiguration auch die übergeordneten Dokumente abgerufen.
<parentElement xpath="//mods:mods/mods:relatedItem[@type='host']" />
In dem Element wird der XPath des Elements eingetragen, in dem das aktuelle Dokument enthalten ist. Im unten angegebenen Beispiel ist es der Pfad zum MODS-Knoten.
<identifierElement xpath="//goobi:metadata[@name='CatalogIDDigital']" />
<parentElement xpath="//mods:mods/mods:relatedItem/mods:identifier[@type='localparentid']" type="reference" />
<recordElement xpath="//srw:searchRetrieveResponse/srw:records/srw:record" />
In dem Element wird die Anzahl der zu berücksichtigenden Kind-Elemente eingetragen. Falls mehr Kind-Elemente als der angegebene Wert vorhanden sind, werden diese nicht importiert.
<maximumChildRecords>50</maximumChildRecords>
In dem Element wird der Import per Datei-Upload aktiviert. In dem Formular zum Anlegen von neuen Vorgängen kann dann zwischen dem Import per Schnittstelle und dem Import per Datei-Upload gewechselt werden.
<fileUpload>true</fileUpload>
In dem Element werden die zum Import zugelassenen Dokumenttypen definiert und die Elemente zu deren Identifizierung beschrieben.
<structuretypes>
<type rulesetType="Monograph">
<mandatoryElement>//mods:mods/mods:originInfo[@eventType='publication']/mods:issuance[text() = 'monographic']</mandatoryElement>
</type>
<type rulesetType="Volume">
<mandatoryElement>//mods:mods/mods:originInfo[@eventType='publication']/mods:issuance[text() = 'multipart monograph']</mandatoryElement>
<mandatoryElement>//mods:mods/mods:relatedItem[@type='host']</mandatoryElement>
</type>
<type rulesetType="MultiVolumeWork">
<forbiddenElement>//mods:mods/mods:originInfo[@eventType='publication']/mods:issuance[text() = 'monographic']</forbiddenElement>
<forbiddenElement>//mods:mods/mods:originInfo[@eventType='publication']/mods:issuance[text() = 'multipart monograph']</forbiddenElement>
<forbiddenElement>//mods:mods/mods:relatedItem[@type='host']</forbiddenElement>
</type>
</structuretypes>
Siehe auch: https://github.com/kitodo/kitodo-production/wiki/Kalliope-SRU-deutsch#strukturelementklassifizierung
Zu beachten ist, dass die Reihenfolge der Konfiguration von Bedeutung ist. Falls eine Konfiguration auf zwei Dokumenttypen zutrifft, gewinnt immer die erstgenannte Konfiguration.
In der mappingFile werden durch XPath die MODS-Elemente für den Import definiert und dem jeweiligen Kitodo-Element zugewiesen. Es ist möglich, die Inhalte der MODS-Elemente beim Import durch XSLT-Befehle anzupassen.
<!-- ### Titel ### -->
<xsl:template match="mods:mods/mods:titleInfo[not(@type='abbreviated')]/mods:title">
<goobi:metadata name="TitleDocMain">
<xsl:value-of select="normalize-space()" />
</goobi:metadata>
</xsl:template>