Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 48 Nächste Version anzeigen »

EVAL-Anweisungen sind eine Möglichkeit, dem R-S dynamisch Befehle zur Berechnung und Einbindung von Objekten zu übergeben.

Eine EVAL-Anweisung wird immer mit der Zeichenfolge ${ eingeleitet und mit der Zeichenfolge } abgeschlossen.

Es gibt 2 Hauptgründe, um EVAL-Anweisungen zu verwenden:

 

1. Einbinden einer Ressource

 

Mit EVAL-Anweisungen können Sie Ressourcen ansprechen. Als Identifikator dient der Name der Ressource.

Syntax

${Meine Ressource}


Hier wird dann die Ressource "Meine Ressource" dynamisch verlinkt. Wenn Sie z.B. in einem RichText schreiben:

"Sehr geehrter Herr ${DS.CUST_NAME}"

wird, wenn der RichText verwendet wird, dynamisch die Datenstrom-Variable DS.CUST_NAME eingefügt und das Resultat ist z.B.:

"Sehr geehrter Herr Max Mustermann"

 

2. Funktionen und Bedingungen

 

Sie können innerhalb von EVAL-Anweisungen vorgefertigte Funktionen (wie im Beispiel) verwenden, die dann dynamisch einen Wert

liefern. Eine Liste der vorhandenen Funktionen finden Sie hier.

Syntax

${NameDerFunktion(Parameter1, Parameter2,...)}

 

${IsNullI(0)} hat z.B. als Resultat 1.

 

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:

 

OperatorBedeutungBeschreibung
*ALWAYSTRUE

Ist immer wahr.

!=NOTEQUALIst wahr, wenn die Objekte nicht gleich sind.
<=EQUALLESSIst wahr, wenn Objekt1 kleiner als Objekt2 ist oder die Objekte gleich sind.
>=EQUALGREATERIst wahr, wenn Objekt1 größer als Objekt2 ist oder die Objekte gleich sind.
<LESSIst wahr, wenn Objekt1 kleiner als Objekt2 ist.
>GREATERIst wahr, wenn Objekt1 größer als Objekt2 ist.
[VAL1,VAL2,VALn]INLISTIst 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

 

DatentypBeschreibungWertebereichBeispiel
STRINGSpeichert eine ZeichenketteAlle Unicode-Zeichen"Hallo Welt!"
NUMBERSpeichert 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
BOOLEANSpeichert einen Wahrheitswert (0/1)0/false/no und 1/true/yestrue, false, 1, 0, yes, no
DATETIMESpeichert 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:
 

ESCAPE-SequenzBedeutung
\"Doppeltes Anführungszeichen
\nZeilenvorschub (neue Zeile)

 

Da in RichTexten die interne Darstellung durch XML erfolgt, werden XML-Sonderzeichen im Text implizit umgewandelt,

damit sie innerhalb des Codes gespeichert werden können.

Sie können mit den folgenden Escape-Sequenzen aber auch eine explizite Umwandlung erzwingen:
 

ESCAPE-ZeichenStellt dar
\!
\=
\<<
\>>
\[
\]]

 Um zu erfahren, wie Sie Funktionen in EVAL-Anweisungen verwenden können, klicken Sie bitte hier.

 

  • Keine Stichwörter