Webgate Anywhere 4.0 - WebTML Tag-Referenz
WebTML Referenz Home

1. WebTML Referenz Home

Allgemeine Richtlinien Der Tag-Context
Der Tag-Context ist ein Grundkonzept von WebTML. Jedes WebTML-Tag wird im Kontext eines XML-Inhaltsdokumentes ausgeführt. Dies bedeutet, dass sobald ein WebTML-Tag irgendwelche Informationen von einem Inhaltsdokument anfordert, z.B. per tml:item oder per tml:metadata, immer das Inhaltsdokument verwendet wird, dass sich im Kontext befindet. Bei jeder Browser-Anfrage ist das im Kontext befindliche Inhaltsdokument zunächst einmal genau das Dokument, welches per URL angefordert wurde. Bei der Anfrage „http:/.../home_index.html“ steht der allgemeine Tag-Context für alle Tags also zunächst auf dem Inhaltsdokument „index“ im Bereich „Home“. Dieser wird dann auch „Hauptkontext“ genannt.
Dieser Kontext kann sich jedoch im Verlauf der WebTML-Verarbeitung ändern. Einerseits gibt es ein Tag-Attribut „context“, über welches der Designer gezielt andere Inhaltsdokumente in den Kontext holen kann. Andererseits wird der Kontext automatisch von Navigatoren und foreach-Schleifen gewechselt. Diese beiden Tags selektieren eine Gruppe von Dokumenten und führen ihren Inhalt im Kontext jedes einzelnen Dokumentes einmal aus. So dass in folgendem Beispiel:
...das Item „Text“ bei jeder Iteration des Navigator-Tags aus einem anderen Inhaltsdokument ausgelesen wird.
Kontexte vererben sich „in der Tag-Hierarchie nach unten“, d.h. der Kontext eines WebTML-Tags ist gleichzeitig auch der Kontext aller WebTML-Tags die sich in seinem Inhalt befinden (insofern diese nicht selbst ihren Kontext ändern). Dies gilt auch dann, wenn Designs per „tml:include“ eingebunden werden. Ein auf selber Ebene folgender Tag ist jedoch nicht beeinflusst.
Das Kontext-Konzept kann in folgendem Design-Beispiel veranschaulicht werden:
Spezielle Funktionen für Tag-Attribute
Weiterhin möglich ist es, den Inhalt von Tag-Attributen in geschwungene Klammern einzuschließen und damit den Attributinhalt über spezielle dynamische Funktionen berechnen zu lassen. Z.B. können folgendermaßen TMLScript-Ausdrücke berechnet werden, deren Ergebnis den Attributinhalt bilden:
In Diesem Beispiel wird der Inhalt des Attributs "pagesize" aus dem Item "ThePageSize" gelesen. Hat dieses Feld z. B. Den Wert 10, so ist der obige ausdruck identisch mit:
Werden Attributinhalte über eine dynamische Funktion berechnet, so geschieht dies jedesmal aufs neue wenn die Ablaufsteuerung von WebTML diesen Tag ausgibt. Ein Tag kann mehrmals auf derselben Seite berechnet werden, wenn er sich im Inhalt eines Iterationstags wie foreach befindet, oder wenn das WebTML-Modul, in welchem er sich befindet, mehrfach eingebunden wird.

Eine weitere Notation erlaubt die Übernahme des Ergebnisses anderer Tags als Attributinhalt: Dieses Beispiel führt TMLScript-Code in einem separaten evaluate-Tag aus und lädt dessen Ergebnis dann über die spezielle Syntax "{tag:" in das Attribut ein. Die ID des tml:evaluate-Tags wird dazu an diese Syntax angefügt. Diese Strategie ist empfehlenswert, wenn Berechnungen zu komplex werden, um sie im räumlich begrenzten Attribut übersichtlich darzustellen, oder einem die "Anführungszeichen ausgehen" (Im Inneren von Attributen kann nur das Hochkomma ' als Anführungszeichen genutzt werden, da ein normales Anführungszeichen " das Attribut beenden würde. In gewissen Fällen ist jedoch der Gebrauch beider Zeichen im TMLScript-Code notwendig).

Desweiteren gibt es eine Notation um - ohne eine TMLScript-Berechnung - direkt den Inhalt eines Items oder einer WebTML-Variablen in ein Attribut zu laden:
Die Notationen "{item:" und "{tag:" haben ggü. der Auswertung von TMLScript-Ausdrücken den Vorteil, dass sie schneller verarbeitet werden, da der Ausdrucks nicht von der TMLScript-Engine kompiliert werden muss.

Folgende Attributfunktionen sind grundsätzlich verfügbar:

{ TMLScript-Ausdruck } - Ein TMLScript-Ausdruck dessen berechnetes Ergebnis zum Inhalt des Attributes wird. Ist das Ergebnis eine Liste so werden die Listenelemente kommasepariert zu einem String zusammengesetzt, der zum Attribut-Inhalt wird.

{item:itemname} - Gibt den Wert des Items aus

{tag:Tag-ID} - Gibt das Ergebnis des WebTML-Tags der angegebenen ID aus

{plugin:pluginname} - Gibt den Datenbankschlüssel des Plugins mit dem angegebenen eindeutigen Plugin-Namen zurück. Diese Attributfunktion ist praktisch in Attributen, welche einen Datenbankschlüssel entgegennehmen. Mit ihrer Hilfe muss der Datenbankschlüssel des Plugins, der auf verschiedenen WGA Systemen unterschiedlich sein kann,  nicht direkt adressiert werden.

{option:optionname} - Gibt den Wert der Web TML-Option dieses Namens aus

{label:labelkey} - Gibt das Textlabel dieses Schlüssels in der Sprache des WGA-Benutzers zurück (siehe <tml:label).


<< WebTML Tag-Referenz Erläuterung der Referenz-Informationen >>