Um über Form-UI-Elemente mehrfach nacheinander zu iterieren werden diese vom Schleifenelement <loop> umhüllt.
Die Anzahl der Schleifendurchgänge wird durch das Attribut receiver bestimmt. Der Wert des Attributs receiver muss eine Liste sein, z.B. receiver="=List(1,2,3,4,5,6,7,8)". Pro Eintrag der Liste wird die Schleife einmal durchlaufen.
Mit dem Attribut variable wird eine Variable bestimmt. Diese enthält den Listenwert der, für receiver definierten, Liste des aktuellen Schleifendurchlaufs. Auf das oben genannte Beispiel bezogen ist der Wert der Variablen also im ersten Schleifendurchlauf 1, im zweiten Durchlauf 2, usw.
Attributname | Verwendung | Attributwerte | Defaultwert | Beschreibung |
---|---|---|---|---|
receiver | benötigt | Formel zum Objekt | ||
variable | optional | Name der Variable |
Erlaubte Unterelemente | Anzahl |
---|---|
action | beliebig |
img | beliebig |
include | beliebig |
input | beliebig |
instantiation | beliebig |
group | beliebig |
label | beliebig |
line | beliebig |
"loop | beliebig |
open | beliebig |
tab | beliebig |
table | beliebig |
td | beliebig |
Eine Tabelle berechnet mit 8 Schleifendurchgängen:
Eine Tabelle mit 6 Spalten enthält eine Schleife, die 8-mal durchlaufen wird. Pro Schleifendurchgang werden 6 Tabellenzellen erzeugt, eine Berechnung mit dem jeweils aktuellen Wert der Variable "x" durchgeführt und als RGB-Wert, sowie als Farbe dargestellt.
<table columns="6">
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<label font="bold">RGB value</label>
</td>
<td>
<label font="bold">Color</label>
</td>
<loop receiver="=List{1,2,3,4,5,6,7,8}" variable="x">
<td align="right">
<label>2 raised to the power of </label>
</td>
<td align="right">
<line>
<label text="x"></label>
<label>: </label>
</line>
</td>
<td>
<label>-></label>
</td>
<td align="right">
<label text="2.pow(x)"></label>
</td>
<td>
<line>
<label text="='200,'+(2.pow(x)-1)+','+(2.pow(x)-1)"></label>
</line>
</td>
<td bColor="='200,'+(2.pow(x)-1)+','+(2.pow(x)-1)">
<label></label>
</td>
</loop>
</table>
Ergebnis: