Webgate Anywhere 4.1 - WebTML Tag-Referenz
select

<tml:select>

Beschreibung :

Führt eine Reihe von Konditionen in <tml:case>-Tags gebündelt aus
Abgeleitet von:
<tml:[Alle Tags]>
Attribute:
Vererbte WebTML-Attributes sind ausgeblendet -> Anzeigen
Name Wert(e) Verwendung
switch TMLScript-Ausdruck Definiert einen TMLScript-Ausdruck, anhand dessen Ergebnisses unterschiedliche Ausgaben produziert werden sollen.
testall true|false|t|f|1|0 Bei false, wird das select nach dem ersten positiven case verlassen. Bei true werden grundsätzlich alle case verarbeitet. Bei Nichtangabe ist „false“ Standard.

Details:
Dieser Tag hat zwei Verwendungsvarianten.

Einfache Variante

Hier fungiert der Tag <tml:select> lediglich als Bündelung diverser Tags <tml:case>, die sich in seinem Inhalt befinden. Seine eigentliche Funktion ist es hier, zu ermitteln ob einer der Case-Tags tatsächlich ausgeführt wurde.

Ist dem nicht der Fall, so sorgt <tml:select> dafür dass ein eventuell vorhandener Tag <tml:caseelse> ausgeführt wird.

"Switch"-Variante

Diese in WGA 4.1 neue Variante imitiert die Funktion der Anweisung "switch" wie sie in vielen modernen Programmiersprache (Java, C, JavaScript) vorhanden ist.

Auch hier beinhaltet <tml:select> eine Reihe von <tml:case>-Tags. Zusätzlich wird im Attribut switch von <tml:select> ein TMLScript-Ausdruck hinterlegt der bei Ausführung des Tags ausgewertet wird.

Der berechnete Wert des Ausdrucks schliesslich bestimmt, welche <tml:case>-Tags ausgeführt werden. Er wird den den Inhalten der Attribute value dieser Tags verglichen. Es werden nur Case-Tags ausgeführt, deren "value"-Inhalt identisch mit dem berechneten Wert ist. Dies funktioniert sowohl mit numerischen als auch mit String-Werten

Auch in diesem Fall wird ein Tag caseelse ausgeführt wenn keiner der <tml:case>-Tags zur Ausführung kommt, also keiner der Werte passte.
Beispiele:
Eine Verwendung der einfachen Variante. Anhand des Sprachkürzels werden ausführliche Sprachbezeichnungen ausgegeben:
<tml:select>
    <tml:case condition="theLang == 'de'">Deutsch</tml:case>
    <tml:case condition="theLang == 'en'">Englisch</tml:case>
    <tml:caseelse>Unbekannte Sprache</tml:caseelse>
</tml:select>

Dasselbe Beispiel in der "Switch"-Variante, in welcher der Code sowohl kürzer als auch lesbarer und verständlicher wird:
<tml:select switch="theLang">
    <tml:case value="de">Deutsch</tml:case>
    <tml:case value="en">Englisch</tml:case>
    <tml:caseelse>Unbekannte Sprache</tml:caseelse>
</tml:select>


<< script testall >>