3.1.2 Dublin Core

<oai_dc>
    <enabled>true</enabled>
    <hitsPerToken>100</hitsPerToken>
    <fields>
        <template name="_DEFAULT">
            <metadata label="title" value="{0}">
                <param type="field" key="MD_TITLE" />
            </metadata>
            <metadata label="creator" value="{0}">
                <param type="field" key="MD_CREATOR" />
            </metadata>
            <metadata label="subject" value="{0}">
                <param type="translatedfield" key="DC" />
            </metadata>
            <metadata label="publisher" value="{0}">
                <param type="field" key="MD_PUBLISHER" dontUseTopstructValue="false" />
            </metadata>
            <metadata label="date" value="{0}">
                <param type="field" key="MD_YEARPUBLISH" dontUseTopstructValue="false" />
            </metadata>
            <metadata label="type" value="{0}">
                <param type="translatedfield" key="DOCSTRCT" />
            </metadata>
            <metadata label="description" value="#TOC#" />
            <metadata label="type" value="text" />
            <metadata label="format" value="image/jpeg" />
            <metadata label="format" value="application/pdf" />
            <metadata label="identifier" value="#AUTO#" />
            <metadata label="source" value="#AUTO#" />
            <metadata label="rights" value="#AUTO#" />
            <metadata label="fulltext" value="#AUTO#" />
            <metadata label="url" value="https://viewer.goobi.io/viewer/image/{0}/{1}/">
                <param type="field" key="PI_TOPSTRUCT" />
                <param type="field" key="THUMBPAGENO" />
            </metadata>
        </template>
   </fields>
   <setSpec>
        <field>DC</field>
        <field>DOCSTRCT</field>
    </setSpec>
    <accessConditions>
        <mapping accessCondition="Public Domain Mark 1.0">info:eu-repo/semantics/openAccess</mapping>
    </accessConditions>
</oai_dc>

Hier kann abhängig von dem angezeigten Strukturtyp, analog zu den Viewer-Metadaten, unterschiedliche Konfigurationen verwendet werden. Die Konfigurationen werden dabei jeweils in einem Element <template> plaziert. Der Name des Strukturelements wird ins Attribut name eingetragen. Ein Template mit dem Namen _DEFAULT wird verwendet, wenn kein spezielles Template für den aktuellen Strukturtyp definiert ist.

Jedes Element <metadata> beschreibt ein Metadatenfeld, das angezeigt werden soll. Die Reihenfolge der Auflistung entspricht dabei der Reihenfolge, in der diese Metadaten (falls vorhanden) angezeigt werden. Das Element hat folgende Attribute:

Attribut

Beschreibung

label

Name des Dublin Core Feldes (aus "title" wird etwa <dc:title>). Dies ist ein Pflicht-Attribut, und sollte einen validen Namen nach Dublin Core Spezifikation enthalten.

value

Standardwert des Metadatums. Im einfachsten Fall kann hier eine statische Zeichenkette eingetragen werden, die direkt ausgegeben wird (zum Beispiel dc:format im obigen Beispiel). DerWert kann auch eine Zeichenkette beziehungsweise URL sein, die in der messages_*.properties oder direkt im Attribut definiert ist und Platzhalter enthält, die durch tatsächliche Werte aus dem Metadatum ersetzt werden. Für einfache Metadaten aus Indexfeldern sollte dieses Attribut ein "{0}" enthalten.

Beim Spezialfall #AUTO# können bestimmte Felder (dc:identifier, dc:rights, dc:source, dc:fulltext) nach einem fest definierten Schema programmatisch befüllt werden.

Beim Spezialfall #TOC# wird in dem Feld dc:description das Inhaltsverzeichnis des angefragten Werkes als Text ausgegeben. Dafür muss die <restApiUrl /> korrekt konfiguriert sein.

Sollen Werte aus Indexfeldern verwendet werden, muss das Element <metadata> mindestens ein Element <param> enthalten. Diese definieren die Quelle der tatsächlichen Werte für diesen Metadatentyp. Folgende Attribute sind dabei zu konfigurieren:

Attribut

Beschreibung

type

Der Typ des Werts beschreibt die Art, ob und wie der Wert behandelt wird. Mögliche Typen sind:

  • field- Der Wert wird so wie er ist übernommen

  • translatedfield- Der Wert wird in die aktuelle Sprache übersetzt, falls eine Übersetzung existiert

key

Das Feld im Solr Index, dass den gewünschten Wert enthält

prefix

Zeichenkette, die unmittelbar vor dem Wert des Metadatums stehen soll (Leerzeichen werden mit _SPACE_ kodiert). Diese wird automatisch übersetzt, falls eine Übersetzung existiert.

suffix

Zeichenkette, die unmittelbar nach dem Wert des Metadatums stehen soll (Leerzeichen werden mit _SPACE_kodiert). Diese wird automatisch übersetzt, falls eine Übersetzung existiert.

dontUseTopstructValue

Bei ausgelieferten Unterelementen (zum Beispiel Artikeln) wird automatisch der Metadatenwert des Werks-Hauptelements verwendet, falls das Unterelement dieses Metadatenfeld nicht besitzt. Durch das Aktivieren dieses Attributs kann dies unterbunden werden. Standardwert ist false.

Die Reihenfolge der <param> Elemente entspricht der Reihenfolge, in der die Platzhalter im Standardwert (falls konfiguriert) ersetzt werden.

Bei der <field /> Liste innerhalb von <setSpec/> werden die Indexfelder konfiguriert, deren Werte für setSpec-Elemente von OAI-Records verwendet werden. Pro Feldkonfiguration wird ein field-Element verwendet, und pro gefundenen Wert wird ein setSpec-Element generiert.

Der <dc:rights /> wird automatisch auf Basis des Inhalts des Feldes ACCESSCONDITION gesetzt. Wenn hier der Wert OPENACCESS steht, dann wird der folgende Eintrag generiert:

<dc:rights>info:eu-repo/semantics/openAccess</dc:rights>

Steht hier ein anderer Wert wir automatisch closedAccess eingesetzt. Mit der Mapping Liste können Werte auf einen bestimmten alternativen Wert gemappt werden, so dass zum Beispiel "Public Domain Mark 1.0" auch als openAccess markiert werden kann.

Last updated