Funktions-Übersicht
CALC COUNTER ENDIF ELSE EXIT DBDELETE DBEND DBREAD DBWRITE GET FILE GET HTTP IF LEN LET SENDMAIL STRSPLIT STRRMV VAR WEND WHILE Reservierte Variablen
HTX-Tags können Sie einfach zusätzlich in normalen HTML-Dokumenten verwenden. Damit der Server weiß, daß es sich um Dokumente handelt, die HTX-Tags enthalten, verwenden Sie für diese Dokumente die Extension .htx. Also z.B. hauptseite.htx oder index.htx.
Wenn Sie ein HTX-Dokument mit einem Fragestring aufrufen finden Sie diesen in der Variablen
<VAR QUERY_STRING>. Zusätzlich können Sie die einzelnen Werte auch mit dem VAR-Befehl abrufen.
hauptseite.htx?sprache=Deutsch
liefert in <VAR QUERY_STRING> den Wert sprache=Deutsch
und über <VAR sprache> den Wert Deutsch
Auch wenn Sie ein HTX-Dokument über ein Formular ( <FORM> ) aufrufen, finden Sie den übermittelten Inhalt der Felder jeweils mit <VAR feldname>. Bei Formularen werden die Methoden GET und POST unterstützt.
Syntax der HTX-Befehle
HTX-Befehle stehen immer in einer eigenen Zeile und werden in der für HTML üblichen
Form <Befehl> angegeben.
Die HTX-Variablen <VAR name>, <COUNTER name> und <LEN string> können frei mit HTML-Code oder HTX-Befehlen, auch in der selben Zeile,
gemischt werden.
Übersicht der HTX-Befehle
<CALC Variable = Formel>
Der Befehl CALC gibt der Variablen den Wert der Berechnung der Formel.
Die Formel kann HTX-Variablen und Zahlen und die Grundrechenarten (+,-,*,/) enthalten.
Das Beispiel gibt mit dem Befehl <VAR resultat> den Wert der Berechnung aus:
<CALC resultat=5*5>
<CALC resultat=resultat/2>
<VAR resultat>
<COUNTER countername>
Der Befehl COUNTER zeigt den Wert des Counters countername an, und erhöht
diesen um 1.
Den Namen (immer in Kleinbuchstaben) können Sie frei wählen, und so beliebig
viele Counter installieren. Der aktuelle Wert des jeweiligen
Couters wird in Ihrem Datenverzeichnis /data in einer ASCII-Datei mit dem
Namen countername.count gespeichert.
<DBDELETE "datei" "feldinhalt_1|feldinhalt_2|...|feldinhalt_n">
Der Befehl DBDELET löscht aus der Datenbank datei den Datensatz feldinhalt_1|feldinhalt_2|...|feldinhalt_n.
Folgendes Beispiel löscht den Kunden "Martin Meier" aus der Datenbank:
<DBDELETE "kunden" "Herr|Martin|Meier">
<DBREAD "datei" "feldname_1|feldname_2|...|feldname_n"> HTML- und HTX-Tags <DBEND>
Der Befehl DBREAD öffnet die Datenbank datei, und führt für alle Datensätze
jeweils den durch das DBREAD / DBEND Paar eingeschlossenen Code aus HTML- und HTX-Tags aus.
Die Feldeinträge des jeweiligen Datensatzes befinden sich in den Variablen
feldname_1 bis feldname_n.
Die Definition der Feldnamen wird in der gleichen Form angegeben wie die Datensätze selbst,
also jeweils getrennt durch den Feldtrenner. Dieser Feldtrenner ist ein vordefiniertes
Zeichen, das die einzelnen Felder voneinander trennt. Voreingestellt ist hier das Zeichen |
(auf der PC-Tastatur über Alt-Gr-< erreichbar).
Der DBREAD-Befehl darf nicht geschachtelt werden.
<DBWRITE "datei" "feldinhalt_1|feldinhalt_2|...|feldinhalt_n">
Der Befehl DBWRITE erzeugt in der Datenbank datei den Datensatz feldinhalt_1|feldinhalt_2|...|feldinhalt_n. Wenn die Datenbank datei noch nicht existiert, wird diese in Ihrem /data-Verzeichnis erzeugt.
Folgendes Beispiel erzeugt eine Datenbank mit vier einträgen, und gibt diese dann aus:
<DBWRITE "kunden" "Herr|Martin|Meier">
<DBWRITE "kunden" "Frau|Sonja|Schmidt">
<DBWRITE "kunden" "Frau|Angela|Berger">
<DBWRITE "kunden" "Herr|Jochen|Peters">
<DBREAD "kunden" "anrede|vorname|name">
Datensatz Nummer <VAR DB_RECORDNUMBER>:
<VAR anrede> <VAR vorname> <VAR name><BR>
<DBEND>
Zusätzlich wird hier die Sondervariable DB_RECORDNUMBER verwendet, die die laufende Nummer
des aktuellen Datensatzes enthält.
Das nachfolgende Beispiel öffnet die eben erzeugte Datenbank "kunden",
und gibt alle weiblichen Kunden aus:
<DBREAD "kunden" "anrede|vorname|name">
<IF "<VAR anrede>" EQ "Frau">
Datensatz Nummer <VAR DB_RECORDNUMBER>:
<VAR anrede> <VAR vorname> <VAR name><BR>
<ENDIF>
<DBEND>
<EXIT>
Mit dem EXIT-Befehl können Sie die Abarbeitung eines HTX-Domuments an beliebiger Stelle beenden.
<GET FILE "Datei">
Mit dem Befehl GET FILE können Sie eine Datei in das aktuelle HTX-Dokument einbinden. Mit diesem Befehl haben Sie Zugriff auf alle Dateien in Ihrem /htdocs-Verzeichnis. Die importierte Datei befindet sich dann in der Variablen <VAR FILE>.
Folgendes Beispiel importiert Ihre Index-Datei:
<GET FILE "index.htm">
<VAR FILE>
Eine häufige Anwendung ist das Verwenden von Header- und Footer-Dateien zur
Vereinheitlichung von Webseiten.
<GET HTTP "http://adresse/dokument...">
Mit dem Befehl GET HTTP können Sie ein Dokument von einem Server in das aktuelle HTX-Dokument einbinden. Eine häufige Anwendung ist das Aufrufen von CGI-Scripten (auch vom eigenen Server). Das importierte Dokument befindet sich dann in der Variablen <VAR HTTP>. Der Server wird mit der Methode GET gerufen.
Folgendes Beispiel importiert das Ergebnis einer DE-NIC-Whois-Anfrage:
<LET domain = "ibm.de">
<GET HTTP "http://www.nic.de/cgi-bin/domainreg?domain=<VAR domain>">
<VAR HTTP>
Sie können das empfangene Dokument auch mit dem IF-Befehl überprüfen, und eine
inhaltsabhängige Ausgabe erzeugen, ohne das Dokument selbst anzuzeigen.
Dieses Beispiel überprüft das Ergebnis der DE-NIC-Whois-Anfrage:
<IF "ist noch frei" CIN "<VAR HTTP>">
Die Domain ist noch frei!<BR>
<ELSE>
Die Domain ist leider schon vergeben!<BR>
<ENDIF>
<IF "Parameter1" Operator "Parameter2"> HTML-Code <ELSE> HTML-Code <ENDIF>
Folgende Operatoren stehen zur Verfügung:
EQ gleich
NE ungleich
GT größer als
GE größer gleich
LT kleiner als
LE kleiner gleich
IN Parameter2 enthält den String Parameter1
NOTIN Parameter2 enthält den String Parameter1 nicht
CIN Parameter2 enthält den String Parameter1
Groß- und Kleinschreibung wird ignoriert.
NOTCIN Parameter2 enthält den String Parameter1 nicht
Groß- und Kleinschreibung wird ignoriert.
Die Parameter müssen in Anführungszeichen stehen.
Der ELSE-Tag ist optional.
<LEN Variable>
Der Befehl LEN gibt die Länge des Strings Variable aus.
<LET Variable = "Parameter">
Der Befehl LET gibt der Variable Variable den Wert "Parameter".
Parameter muß in Anführungszeichen stehen.
Bei Variablen wird zw. Groß- und Kleinschreibung
unterschieden.
<SENDMAIL> To: Email-Adresse des Empfängers From: Email-Adresse des Absenders Subject: Betreffszeile Die eigentliche Nachricht </SENDMAIL>
Der SENDMAIL-Befehl sendet eine Nachricht an die Email-Adresse des Empfängers.
Als Absender wird die Email-Adresse des Absenders angegeben, als Betreff die unter
Subject angegebene Betreffszeile.
Das Mail-Protokoll schreibt vor, daß der Mail-Header (die Zeilen To:, From:, Subject: etc.) von der eigentlichen Nachricht mit einer Leerzeile getrennt sein muß.
<STRSPLIT string "trenner" teil1 teil2>
Der Befehl STRSPLIT trennt den String string beim ersten Vorkommen der Zeichenfolge trenner in den vorderen Teil teil1 und den hinteren Teil teil2. Der Inhalt der Variablen string wird dabei nicht verändert.
<STRRMV String "Zeichenfolge">
Der Befehl STRRMV entfernt die Zeichenfolge aus der Variablen String.
Dieses Beispiel entfernt das "www." aus einem Domainnamen:
<LET domain = "www.ihrname.com">
<STRRMV domain "www.">
<VAR Variable>
Der VAR-Befehl gibt den in der Variablen Variable gespeicherten Wert oder String aus.
<WHILE Variable> ... ... <WEND>
Mit der WHILE / WEND Kombination wird der durch diese Befehle eingeschlossene Bereich solange ausgeführt, wie Variable wahr, also ungleich Null, ist.
Folgendes Beispiel gibt die Zahlen 1-10 aus:
<LET A= "10">
<WHILE A>
<CALC B=11-A>
<CALC A=A-1>
<VAR B><BR>
<WEND>
Der WHILE-Befehl darf nicht geschachtelt werden.
Folgendes Beispiel gibt das aktuelle Datum aus:
Es ist
<IF "<VAR TM_WDAY>" EQ "0">Sonntag,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "1">Montag,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "2">Dienstag,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "3">Mittwoch,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "4">Donnerstag,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "5">Freitag,<ENDIF>
<IF "<VAR TM_WDAY>" EQ "6">Samstag,<ENDIF>
der <VAR TM_DAY>.<VAR TM_MON>.19<VAR TM_YEAR>