4.3.2. Konfiguration

Die PICA+ Konfiguration erfolgt innerhalb des umschließenden <PicaPlus> Elements, welches direkt dem <Formats> Element untergeordnet ist. Innerhalb des <PicaPlus> Elements kommen die typ-spezifischen Elemente <Person>, <Metadata> und <DocStruct> zu Einsatz, die jeweils einen internen Datentyp mappen. Ebenso wie beim RDF/XML-Format findet hier immer ein 1:1 Mapping statt.

Für das Mapping wird auf die Merkmale der PICA+ Struktur zurückgegriffen, innerhalb dieser typ- spezifischen Elemente sind folgende Unterelemente erlaubt:

Tag

Beschreibung

<picaMainTag>

Die PICA+ Feldnummer. Dieses Element muss genau einmal vorhanden sein.

<picaSubTag>

Der PICA+ Feldtrenner innerhalb des mit <picaMainTag> angegebenen Feldes. Der Inhalt dieses Unterfeldes entspricht dem Wert des im <Name> Element angegebenen Metadatums. Innerhalb des <Metadata> und <DocStruct> Elements muss dieses Feld genau einmal vorhanden sein. Für das <Person> Element gelten andere Regeln (siehe unten).

<valueCondition>

Bedingtes Mapping: Mit der Angabe eines regulären Ausdrucks (Perl5-Syntax) kann hier eine Bedingung angegeben werden. Nur, wenn diese Bedingung auf den Inhalt des oben definierten PICA+ Feldes zutrifft, wird der Wert dem internen Metadatum zugewiesen. Dieses Feld ist optional, Beispiel siehe unten.

<name>

Der interne Metadatenname. Dieses Element muss ebenfalls genau einmal vorhanden sein.

<valueRegExp>

Nachträgliche Bearbeitung von PICA+ Feldwerten: Mit der Angabe eines regulären Ausdrucks (Perl5-Syntax) kann der Wert des Metadatums manipuliert werden. Dieses Feld ist optional, Beispiel siehe unten.

Beispiel: Mapping von PICA+ Felder

<Metadata>
<picaMainTag>021A</picaMainTag>
<picaSubTag>a</picaSubTag>
<Name>TitleDocMain</Name>
</Metadata>

Beispiel: Nutzung von bedingten Zuweisungen

<Metadata>
<picaMainTag>007S</picaMainTag>
<picaSubTag>0</picaSubTag>
<ValueCondition>/^VD17/</ValueCondition>
<Name>CatalogFieldVDseventeen</Name>
<ValueRegExp>s/^VD17\s(.*)/$1/</ValueRegExp>
</Metadata>
<Metadata>
<picaMainTag>007S</picaMainTag>
<picaSubTag>0</picaSubTag>
<ValueCondition>/^VD18/</ValueCondition>
<Name>CatalogFieldVDeighteen</Name>
<ValueRegExp>s/^VD18\s(.*)/$1/</ValueRegExp>
</Metadata>

Der Wert von picaMainTag 007s und picaSubTag 0 wird nur dann dem internen Metadatum CatalogFieldVDseventeen zugewiesen, wenn dessen Inhalt mit VD17 beginnt. Sollte der Inhalt des PICA+ Feldes mit VD18 beginnen, wird dieser dem internen Metadatum CatalogFieldVDeighteen zugewiesen.

Wenn eine der Bedingungen erfüllt ist, wird zusätzlich noch das VD17 oder das VD18 vor der eigentlichen VD17- bzw. VD18-Nummer (incl. dem Leerzeichen) entfernt.

Beispiel: Manipulation von Metadaten beim Import

<Metadata>
<picaMainTag>003@</picaMainTag>
<picaSubTag>0</picaSubTag>
<Name>CatalogIDDigital</Name>
<ValueRegExp>s/(.*)/PPN$1/</ValueRegExp>
</Metadata>

Mit diesem regulären Ausdruck wird der Wert des PICA+ (PPN) um die Zeichenkette PPN ergänzt.

Da Personen weitere Merkmale aufweisen und nicht nur ein einfaches Typ-Wert-Paar sind, kann für jedes dieser Merkmale ein <picaSubTag> innerhalb des <Person> Elements existieren. Das entsprechende Attribut type gibt das entsprechende Merkmal an. Folgende Werte für dieses Attribut sind gültig:

Attribut

Beschreibung

firstname

Vorname der Person

lastname

Nachname der Person

identifier

Identifier der Person (bspw. aus der Personennormdatenbank)

expansion

Es können weiterhin Vor- und Nachname aus dem Pica-Feld „Expansion der Ansetzungsform“ extrahiert werden.

Beispiel: Mapping von Personen

<Person>
<picaMainTag>028A</picaMainTag> <Name>Author</Name>
<picaSubTag type="firstname">d</picaSubTag> <picaSubTag type="lastname">a</picaSubTag> <picaSubTag type="identifier">9</picaSubTag> <picaSubTag type="expansion">8</picaSubTag>
</Person>

Da der Typ der jeweiligen Dokumentstruktur abhängig vom Wert eines Feldes ist, existiert innerhalb des Elements <DocStrct> noch ein weiteres Pflichtelement <picaContent>. Nur wenn das mit <picaMainTag> und <picaSubTag> spezifizierte Element den in <picaContent> definierten Content aufweist, wird eine entsprechende Dokumentstruktur anlegt und es werden ihr die Metadaten zugeordnet. Der Typ der Dokumentstruktur wird im Element <Name> spezifiziert.

Hierbei kann es auch zu einem n:1 Mapping kommen, das heißt, es können mehrere Typen aus dem Pica-System einem internen Typ zugewiesen werden. Dies ist notwendig, da die Buchstabenkombination des PICA+ Formats nicht nur den bibliographischen Typ, sondern auch die Erscheinungsform (gedruckt, digital, Microform) enthält. Entsprechend muss für jede Buchstabenkombination ein Mapping vorgenommen werden.

Beispiel: Mapping eines MultiVolume-Werkes

<DocStruct>
<picaMainTag>002@</picaMainTag>
<picaSubTag>0</picaSubTag>
<picaContent>Oc</picaContent>
<Name>MultivolumeWork</Name>
</DocStruct>
<DocStruct>
<picaMainTag>002@</picaMainTag>
<picaSubTag>0</picaSubTag>
<picaContent>Ac</picaContent>
<Name>MultivolumeWork</Name>
</DocStruct>

Für das Mapping von Dokumentstrukturen ist zu beachten, dass lediglich die ersten im Regelsatz definierten Buchstaben verglichen werden. Dies ist quasi mit einer trunkierten Suche gleichzusetzen. Da in dem Beispiel oben lediglich zwei Buchstaben im Feld <picaContent> angegeben sind, werden auch nur die ersten beiden Buchstaben in der PICA+ Datei berücksichtigt. Ferner erfolgt der Vergleich unter Beachtung der Groß/Kleinschreibung (case-sensitive).