UHTML Programmierschnittstelle

uHTML

Kurzer Umriß der PERL Programmierschnittstelle

Obwohl UHTML an keine spezifische Programmiersprache gebunden ist, sind die Gründe für eine Implementierung in perl offensichtlich - perl wird von den meisten Webservern unterstützt, es hat eine mächtige Mustererkennungsbibliothek und ist ausreichend schnell. Der nächste Schritt wäre ein apache–Modul das sowohl perl wie auch C (C++) UHTML–Bibliotheken unterstützt.

UHTML Funktionalität wird über perl–Module erweitert. Moduldateien in dem Skript–Verzeichnis des Servers die mit dem Muster uHTML/*.pm oder *-uHTML.pm übereinstimmen werden automatisch geladen. Module von anderen Stellen (z.B. global installierte) müssen mit require oder use explizit eingebunden werden.

Die UHTML–Bibliothek lädt alle Module mit den UHTML–Elementen. Dabei werden Module die dem Muster uHTML/*pm entsprechen, vor denen die dem Muster *-uHTML.pm entsprechen, geladen.

In diesen Modulen werden perl–Funktionen an UHTML–Elemente mittels uHTML->registerTag( $TagName,$Code ) gebunden und mit uHTML->registerVar( $VarName,$Code ) werden perl–Funktionen an Attribut–Variablen (Funktionen) gebunden.

Die $Code–Funktionen werden mit $Node als erstem Argument aufgerufen. Die Struktur von $Node ist im Paket UHTMLnode festgelegt. Dieses Paket bietet neben den Daten auch Methoden zur Manipulation dieser Daten an.

Das Ergebnis (HTML–Code) wird meist mit $Node->map( $HeadText,$TailText ) in das ausgelieferte Dokument eingefügt. Dabei werden die in den spitzen Klammern enthaltenen Anfang und Ende des Elements entfernt und durch $HeadText und $TailText ersetzt. In Elementen ohne Abschluß (die ohne </...>) folgt $TailText unmittelbar auf $HeadText.

Funktionen die an Attribut–Variablen werden werden mit deren Ergebnis ersetzt. Als Argumente kriegen diese Funktionen die $Node die das Attribut enthält, den Namen des Attributs, den Namen der Attribut–Variablen gefolgt von den Argumenten der Attribut–Variablen.

Attribut–Variablen werden mit einem “$” markiert. In früheren Versionen von UHTML war es ein “§” oder “^”. Die Argumente der Attribut–Variablen werden in runde Klammern eingeschlossen und mit Kommas getrennt. Enthält ein Argument Leerstellen am Anfang oder Ende, oder enthält ein Argument selbst ein Komma(s), muß es in einfache oder doppelte Anführungsstriche eingeschlossen werden. Ein “$ oder “\” im Argument muß ein “\” vorangestellt bekommen. In älteren Versionen von UHTML konnte eine Attribut–Variable zwei direkt aufeinanderfolgende Sätze von Argumenten in runden Klammern haben.

Die Verarbeitung von UHTML erfolgt mittels uHTML->recode( $uHTML ). Diese Funktion erwartet den UHTML–Code als Argument und liefert den fertigen HTML–Code.

divider

English Version
 

Externe Seiten:

uHTML-Logo 2008 All Rights Reserved Amina Mendez & Roland Okello Valid HTML 4.01 Transitional CSS is valide!