findlink ist ein CGI-Skript, das von einem WWW-Server
gestartet wird. findlink wird durch die
Environment-Variablen QUERY_STRING und PATH_TRANSLATED
gesteuert. Die Variablen werden vom WWW-Server
entsprechend einer WWW-Anfrage gesetzt.
findlink durchsucht alle Verweise eines
HTML-Dokumentes nach einem bestimmten Suchmuster.
Der Name des Dokumentes wird von findlink in
PATH_TRANSLATED, das Suchmuster in QUERY_STRING erwartet.
Erfolgreiches Suchen
Hat findlink einen oder mehrer Verweise gefunden, die
dem Suchmuster entsprechen, so wird ein HTML-Dokument
erstellt, in dem die gefundenen Verweise eingetragen
werden. Das erstellte Dokument setzt sich aus drei
Einzeldokumenten zusammen. Der Dokumentanfang und das
Dokumentende werden je aus einer Datei gelesen. Der
Mittelteil setzt sich aus den gefunden Verweisen
zusammen, er wird von findlink erstellt. Der Name der
Datei für den Dokumentanfang bzw. das Dokumentende
ergibt sich aus dem Dateinamen in PATH_TRANSLATED. An
diesen Namen wird die Endung «s._head» für den
Dateinamen des Anfangs bzw. «s._body» für den
Dateinamen des Endes angehängt.
Dokumentanfang und -ende müssen zusammen ein gültiges
HTML-Dokument ergeben.
- Beispiel:
-
Mit PATH_TRANSLATED = protein.html
ergibt
sich der Dateiname für den Dokumentanfang zu
protein.html.s_head
und für das
Dokumentende zu protein.html.s_body.
Jeweils ein Beispiel ist hier
zu finden:
protein.html.s_head und
protein.html.s_body.
Erfolgloses Suchen
Konnte findlink keine Verweise finden, die dem
Suchmuster entsprechen, oder trat ein Fehler auf, dann
wird eine entsprechende Meldung im HTML-Format ausgegeben.
Übergabe des Suchmusters an findlink
findlink erwartet das Suchmuster muster in der
Environment-Variable QUERY_STRING. Es muß dabei in der
folgenden Form in QUERY_STRING eingetragen sein:
QUERY_STRING = search=muster
Suchvorgang
Der Suchvorgang beginnt, sobald findlink das zu
durchsuchende HTML-Dokument aus PATH_TRANSLATED und
das Suchmuster muster aus QUERY_STRING
ermittelt hat. Innerhalb des Dokumentes werden alle
Verweise überprüft, ob sie das Muster muster
enthalten.
Ein HTML-Verweis hat die Form: <A HREF =
"url">verweisname</A>
Die Suche innerhalb des Verweises ist erfolgreich,
wenn innerhalb von verweisname das Suchmuster
muster gefunden wird. Der gesamte Verweis
<A HREF = "url">verweisname</A>
wird in die Liste der bereits gefundenen Verweise
aufgenommen. Nach Beendigung der Suche (alle Verweise
sind durchsucht) wird die Liste
unter der in
«Erfolgreiches Suchen»
beschriebenen Art und Weise ausgegeben.
verweisname kann aus beliebigem ASCII-Text
bestehen, darf aber keine HTML-Tags enthalten.
WWW-Schnittstelle
findlink wird vom WWW-Server als CGI-Skript gestartet,
wenn von einem WWW-Client eine entsprechende Anfrage
in Form eines URLs kommt. Der URL enthält den Namen
des Dokumentes, das durchsucht werden soll, und das
Suchmuster. Der Server setzt anhand des URLs die
beiden Environment-Variablen QUERY_STRING und
PATH_TRANSLATED und startet findlink. Damit dieser
Mechanismus funktioniert, muß der URL den Aufbau
haben:
http://host/cgi-verzeichnis/findlink/dokumentname?search=suchmuster
- host
- Name des Rechners auf dem der WWW-Server läuft.
- cgi-verzeichnis
- Verzeichnis in dem sich die CGI-Skripte des
Servers befinden. Der Server muß dazu passend
konfiguriert sein.
- dokumentname
- Gibt den Namen des zu durchsuchenden Dokumentes
an.
- suchmuster
- Das Muster nachdem die Verweise in
dokumentname durchsucht werden.
- Beispiel:
- http://www.chemie.fu-berlin.de/cgi-bin/dhzb/findlink/user/pleiss/protein_all.html?search=Desmin
Solch ein URL muß nicht vom Anwender eingegeben
werden. Durch Bereitstellung eines HTML-Formulars, das
der Benutzer über seinen Client abruft, besteht eine
komfortable Möglichkeit auf findlink zuzugreifen.
Das Formular enthält ein Eingabefeld, in das der
Anwender das Suchmuster einträgt, und einen
Absendeknopf (Bestätigung). Nach Betätigung des
Knopfes wird das eingegebene Suchmuster an den WWW-Server
verschickt. Der Server startet findlink, das gemäß der
Suchanfrage ein HTML-Dokument erstellt. Das Dokument
wird als Antwort auf die Suchanfrage an den WWW-Client
gesendet.
- Beispiel für ein solches Formular:
-
<FORM ACTION = "http://www.chemie.fu-berlin.de/cgi-bin/dhzb/findlink/user/pleiss/protein_all.html">
Please enter the keyword
<INPUT TYPE = text NAME = "search">
<INPUT TYPE = submit>
</FORM>
Der URL
http://www.chemie.fu-berlin.de/cgi-bin/dhzb/findlink/user/pleiss/protein_all.html
gibt an, welches CGI-Skript nach Beendigung der
Formulareingabe, die Eingabe auswertet. Die Eingabe kann
durch Betätigung des Submit-Buttons beendet werden. Der Knopf
wird erzeugt durch das Tag:
<INPUT TYPE = submit>.
Das Formular hat ein Texteingabefeld, das erstellt wird
mittels:
<INPUT TYPE = text NAME = "search">.
Über das Attribut NAME = "search" wird dem Feld der
Name search zugewiesen.
Der Benutzer trägt in dieses Eingabefeld das Suchmuster
muster ein und drückt den Submit-Button. Der
Browser erstellt den Term search=muster und hängt
ihn an obigen URL, durch ? abgetrennt, an. Es
ensteht der URL:
http://www.chemie.fu-berlin.de/cgi-bin/dhzb/findlink/user/pleiss/protein_all.html?search=muster.
Dieser URL entspricht genau der oben geforderten Form, das
Formular stellt somit eine bequeme Schnittstelle zu
findlink dar.
- Also:
- damit dieser Mechanismus funktioniert, muß
das Texteingabefeld, in das das Suchmuster eingetragen
wird, den Namen search besitzen.