Skip to content

aDIS MODS Import via SRU und Datei Upload

André Hohmann edited this page Sep 3, 2019 · 1 revision

Einleitung

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.

Konfiguration kitodo_mods_opac.xml

mappingFile

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

identifierParameter

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" />

searchFields

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

parentElement

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']" />

recordElement

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" />

maximumChildRecords

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>

fileUpload

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>

structureTypes

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.

Konfiguration mappingFile (adis2kitodo.xsl)

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>
Clone this wiki locally