# `calc` — Berechnung **Zweck:** Wertet einen oder mehrere arithmetische bzw. logische Ausdrücke aus und schreibt die Ergebnisse als Kontextvariablen — über einen sicheren eigenen Parser (kein `eval`). **Parameter** | Name | Pflicht? | Default | Beschreibung | |---|---|---|---| | `` | ja (min. 1) | — | Wiederholbar. `name` = Ziel-Kontextvariable, `expr` = Ausdruck (Fallback: Element-Text statt `expr`-Attribut). | Unterstützte Operatoren: `+ - * / %`, `== != < > <= >=`, `and`/`or`/`not` (XML-freundliche Alternative zu `&&`/`||`/`!`). Funktionen: `round(x, stellen)`, `ceil`, `floor`, `abs`, `min`, `max`, `len`, `upper`, `lower`, `concat(...)`, `ifelse(bedingung, dann, sonst)`. `true`/`false` werden zu `1`/`0`. Dezimalkomma (`1,50`) wird toleriert. **Eingangswerte:** Beliebige Kontextvariablen via `{{platzhalter}}` — sie werden vor dem Parsen aufgelöst. **Ausgangswerte:** Jede `` wird unter ihrem `name` in den Kontext geschrieben. Vorherige ``-Zeilen sind in nachfolgenden sofort verfügbar. Bei Auswertungsfehler bricht der Task mit `error` ab. ```xml ```