gymel  | Beispiele  | Link zum ZDB-OPAC

Parameterbeispiel: Hyperlink auf den ZDB-OPAC

Im allegro-Standardformat sind die Identnummern der ZDB (Zeitschriften-Datenbank) in der Kategorie #89Z abgelegt. Je nach Parametrierung erfolgt auch die Verknüpfung von Aufsätzen mit der Zeitschriftentitelaufnahme über diese Nummer (ohne Prüfziffer in diesem Fall).

Seit November 2000 ist unter der URL http://zdb-opac.de die ZDB online frei recherchierbar, dies ist auch nützlich bei bekannten Zeitschriften, da die ZDB ja bekanntermaßen auch die Bestände nachweist.

Bei Aufruf der obigen URL erfolgt eine automatische Weiterleitung zum Rechercheinterface des ZDB-OPACS, http://dispatch.opac.d-nb.de/DB=1.1/, das dortige Eingabeformular ermöglicht die Suche nach den ZDB-Identifikationsnummern (und benutzt die "GET"-Methode, so daß man sehr einfach sehen kann, wie die Suchanfrage zu einer bestimmten Eingabe aussieht).

Angenommen, wir suchen Bestandsnachweise zum Büchereidienst (das ist die Vorgängerveröffentlichung des Bibliotheksdienst), und wissen, daß dieser die ZDB-Identnummer 1226-9 hat, so können wir folgende URL zur Rechere benutzen: http://dispatch.opac.d-nb.de/DB=1.1/CMD?ACT=SRCHA&IKT=8506&TRM=1226-9

In dem Fall, wo wir ohne Prüfziffer recherchieren möchten, haben wir in den meisten Fällen Glück: Der ZDB-OPAC erlaubt eine Trunkierung durch Eingabe von "?" (bzw. "%3F" in einer URL) und die meisten Identnummern der ZDB sind siebenstellig plus Prüfziffer. Die Indexierung der Nummern im ZDB-OPAC ist jedoch linksbündig mit weggelassenem Strich vor der Prüfziffer, so daß wir in unserem Beispiel mit der vierstelligen Nummer 1226 bei trunkierter Suche knapp 1000 Treffer erhalten, so daß es günstiger ist, (die Prüfziffer zu berechnen bzw.) für die 11 möglichen Prüfziffern jeweils eine Testrecherche durchzuführen, das lässt sich aber nicht gut automatisieren.

Parametrierung für einen WWW-OPAC

In der Ausgabeparameterdatei (etwa d-html.apr) für einen allegro-WWW-OPAC können wir nun etwa folgenden Link parametrieren (Die Zeilenumbrüche und Farben sind nur der Lesbarkeit halber eingefügt und dürfen in Realem Code nicht sein):

     % Die ZDB-Nummer aus #89Z wird zwischen Prae- und Postfix eingefuegt
#89Z y0 p{'<a target="_new" 
              href="http://dispatch.opac.d-nb.de/DB=1.1/CMD?ACT=SRCHA&IKT=8506&TRM='}
     P{'">[ZDB-Nachweis]</a>'}

Parametrierung für a99/alcarta

In der Ausgabeparameterdatei (etwa d-wrtf.apr) für die allegro-Windows-Module können wir den obigen Link als Flip mit dahinterstehendem Flex realisieren, dabei verlassen wir uns darauf, dass das "start"-Kommando des Betriebssystems weiss, wie es mit "http://" umzugehen hat.

Der Aufruf dieses "start"-Kommandos ist allerdings zwischen den Betriebssystemfamilien Windows'95/98/ME einerseits und Windows NT/2000/XP nicht kompatibel, daher benutzen wir folgenden winstart.flx, der universell einsetzbar ist:

  %% Aufruf war in #ucc gesichert

get env COMSPEC
if %cmd.exe% jump winnt

:win9x
var "start " #ucc
Call
end

:winnt
var "cmd /c start " #ucc
Call
end

In der allegro-Parameterdatei nun müssen wir noch anhand Kateogrie #89Z die URL konstruieren und folgenden Flex vorbereiten:

x var "http://ZDB-URL mit einmontierter ZDB-Nummer"\ins #ucc\exec X winstart
Dieser vorbereitete Flex wird mittels des Manipulationsbefehls aZ~ in die nächste freie Anwendervariable #uZx gespeichert, parallel dazu verankern wir diesen Flip dadurch, daß wir unseren Anzeigetext ("[ZDB-Nachweis]") mittels aY~ in der korrespondierende Anwendervariable #uYx hinterlegen und diesen Anzeigetext umklammert (etwa mit "[...]") auch zur Anzeige bringen. Konkret also (in anderer Reihenfolge der drei Operationen):
#89Z +#98z C p"[ZDB-Nachweis]|" e"|"   % 1. Ausgabe des Fliptextes in [...]
#nr +#98y Z                              % keine #89Z vorhanden => Sprung zum Ende

#98z    % Sprungmarke
#nr p"ZDB-Nachweis|" e"|" aY~            % 2. Verankern der Fliptextes ohne [...]

        % 3. Konstruktion des zugehoerigen Aufrufs (Zeilenumbruch artifiziell!!!)
        % Die ZDB-Nummer aus #89Z wird zwischen Prae- und Postfix eingefuegt
#89Z p'x var "http://dispatch.opac.d-nb.de/DB=1.1/CMD?ACT=SRCHA&IKT=8506&TRM='
     P'"\ins #ucc\exec X winstart' aZ~

#98y    % Hier geht es gemeinsam weiter

Alternativ können wir einen Flex konstruieren, der erst zu seiner Laufzeit die Kategorie #89Z auswertet, dieser Flex hat keine variablen Bestandteile mehr und kann daher wiederum in einer Datei (zdb-opac.flx) hinterlegt werden:

var "http://dispatch.opac.d-nb.de/DB=1.1/CMD?ACT=SRCHA&IKT=8506&TRM=" #89Z
ins #ucc
exec X winstart
(Den Inhalt von winstart.flx könnten wir statt der letzten Zeile exec X winstart auch direkt in diesen Flex einsetzen.)

Der Abschnitt in den Anzeigeparametern vereinfacht sich dann wie folgt (da aber stets drei Dinge getan werden müssen, sind es nur einfachere Zeilen, nicht weniger):

#89Z +#98z C p"[[ZDB-Nachweis]]|" e"|"   % 1. Ausgabe des Fliptextes in [...]
#nr +#98y Z                              % keine #89Z vorhanden => Sprung zum Ende

#98z    % Sprungmarke
#nr p"ZDB-Nachweis|" e"|" aY~            % 2. Verankern der Fliptextes ohne [...]

        % 3. Konstruktion des zugehoerigen Aufrufs
        % Die URL aus festem Bestandeil und #89Z wird in zdb-opac.flx montiert
#nr p'X zdb-opac|' e"|" aZ~

#98y    % Hier geht es gemeinsam weiter
Das war's!
Letzte Aktualisierung: 29.6.2006
A¨nderungen:
29.6.2006 - Neue Adressen
25.1.2002 - Ursprungsversion

submit bugs here