EVAL-Anweisungen sind eine Möglichkeit, dem R-S dynamisch Befehle zur Berechnung und Einbindung zu übergeben.
Eine EVAL-Anweisung wird immer mit der Zeichenfolge '${' eingeleitet und mit der Zeichenfolge '}' abgeschlossen:
Beispiel
${IsNullI(0)} [Hat den Wert 1]
Inline-Funktionen sind Funktionen, welche in Variablen/Texten zur Aufbereitung/Formatierung von Daten genutzt werden können ...
Eine Liste der Funktionen finden sie hier.
1. Umgang mit Ressourcen in Texten
Im aktuellen Redaktionssystem sind Variablen auch Ressourcen. Da man aber eine binäre Ressource nicht evaluieren kann,
wie eine Textvariable oder RuleTable, wandelt man alle binären Ressourcen in Textvariablen mit einem bestimmten Sonder-Inhalt um.
Enthält nach der Evaluierung der Egebnisstring einen solche Sonder-Inhalt, dann ermittelt man die dazugehörige Ressource und arbeitet mit dieser weiter
Ist darin kein Sonder-Inhalt, so ist das Ergebnis ein Text.
2. Operatoren und Datentypen
Das R-S unterstützt auch Boolsche Operationen, die Sie z.B. in einer Regel anwenden können.
Boolsche Operationen sind Vergleiche, die entweder wahr oder falsch sind. Folgende Operatoren sind im R-S definiert:
Operator | Bedeutung | Beschreibung |
---|---|---|
* | ALWAYSTRUE | Ist immer wahr. |
!= | NOTEQUAL | Ist wahr, wenn die Objekte nicht gleich sind. |
<= | EQUALLESS | Ist wahr, wenn Objekt1 kleiner als Objekt2 ist oder die Objekte gleich sind. |
>= | EQUALGREATER | Ist wahr, wenn Objekt1 größer als Objekt2 ist oder die Objekte gleich sind. |
< | LESS | Ist wahr, wenn Objekt1 kleiner als Objekt2 ist. |
> | GREATER | Ist wahr, wenn Objekt1 größer als Objekt2 ist. |
[VAL1,VAL2,VALn] | INLIST | Ist wahr, wenn das zu vergleichende Objekt in der Liste vorhanden ist. |
[VAL1,...,VAL2] | INRANGE (3 Argumente, das mittlere Argument ist "...") | Ist wahr, wenn das zu vergleichende Objekt zwischen VAL1 und VAL2 liegt. |
Wird kein Operator angegeben, wird EQUAL
(=) verwendet. Der Vergleich ist also dann wahr, wenn die Objekte gleich sind.
Alle Operatoren wurden für alle Datentypen umgesetzt. Praktische Beispiele finden Sie in der Regeldefinition.
3. Datentypen
Datentyp | Beschreibung | Wertebereich | Beispiel |
---|---|---|---|
STRING | Speichert eine Zeichenkette | Alle Unicode-Zeichen | "Hallo Welt!" |
NUMBER | Speichert eine Ganzzahl | −2.147.483.648 bis +2.147.483.648 bzw. 0 bis 4.294.967.295 | +706512, -59102 |
REAL | Speichert eine Gleitkommazahl Trennzeichen ist '.' (Achtung keine localisierten Schreibweisen erlaubt und damit auch kein 1000-der Punkt) | 3.4E-4932 1.1E+4932 | +5481.4390156, -98042.4168640 |
BOOLEAN | Speichert einen Wahrheitswert (0/1) | 0/false/no und 1/true/yes | true, false, 1, 0, yes, no |
DATETIME | Speichert ein Datum nach ISO 8601 | Datum ohne Unterstützung von Wochen, Wochentagen und Tagen im Jahr | 2011-12-31, 2011-12-31T16:47Z |
3. Entities
Es werden alle HTML-Entities aufgelöst, die RW kennt. Zusätzliche ESCAPE-Zeichen sind:
\" | \n | \! | \= | \< | \> | [ | ] |
---|
Um zu erfahren, wie Sie Funktionen in EVAL-Anweisungen verwenden können, klicken Sie bitte hier.