Startseite
Startseite

Startseite / Vorlagenentwicklung / Regeln / Regelsyntax (Übersicht)

Regeln erstellen: Regelsyntax

Regeln beschreiben

Die Definition einer Regel erfolgt über einfache Tags und Attribute im Register "Regeln" in der Vorlagen-Verwaltung.

Dabei folgt jede Regeldefinition einem bestimmten Aufbau. Eine Regeldefinition beginnt immer mit einem sich öffnenden und endet mit einem schließenden <RULES/>-Tag. Innerhalb dieser Regeldefinition können beliebig viele Regeln definiert werden, wobei für jede Regel eine Restriktionsstufe, eine Wertermittlung und eine Handlungsanweisung definiert werden muss. Optional kann auch noch eine Vorbedingung definiert werden.

Tags

Kurzbeschreibung

Attribute

 

1. Ebene der Regeldefinition

<RULES/>

Oberste Ebene der Regeldefinition:
Leitet eine Regeldefinition ein. Innerhalb einer Regeldefinition können beliebig viele Regeln für ein Formular definiert werden, wobei jede Regel von einer Restriktionsstufe eingeleitet wird und immer mindestens eine Wertermittlung und eine Handlungsanweisung enthalten muss.
(mehr ...)

keine

 

2. Ebene der Regeldefinition - Auswahl einer Restriktionsstufe

<ON_SAVE/>

Höchste Restriktionsstufe: Regelverletzungen innerhalb dieser Restriktionsstufe unterbinden das Speichern des Formulars durch den Redakteur. Farbschema für Meldungen des FirstSpirit-Frameworks: brombeer.
(mehr ...)

keine

<ON_RELEASE/>

Mittlere Restriktionsstufe: Regelverletzungen innerhalb dieser Restriktionsstufe erlauben das Speichern des Formulars durch den Redakteur, eine Freigabe der Inhalte ist jedoch nicht möglich. Farbschema: gelb.
(mehr ...)

keine

<ON_EVENT/>

Niedrigste Restriktionsstufe: Regelverletzungen innerhalb dieser Restriktionsstufe erlauben das Speichern des Formulars und die Freigabe der Inhalte durch den Redakteur. Farbschema: Keine Hervorhebung der Regelverletzung.
(mehr ...)

keine

 

3. Ebene der Regeldefinition - innerhalb einer Restriktionsstufe

<IF/>

Leitet die Definition einer (optionalen) Vorbedingung ein. Die Definition einer Vorbedingung muss innerhalb einer Restriktionsstufe und vor den Tags zur Wertermittlung und Handlungsanweisung erfolgen. Die nachfolgenden Abschnitte der Regel (Wertermittlung, Handlungsanweisung, Validierung) werden nur ausgeführt, wenn die Vorbedingung erfüllt ist. Innerhalb der Vorbedingung ist die Angabe weiterer Tags notwendig.
(mehr ...)

keine

<WITH/>

Leitet eine Wertermittlung ein. Die Wertermittlung muss innerhalb einer Restriktionsstufe, nach der Definition einer (optionalen) Vorbedingung und vor den Tags zur Handlungsanweisung erfolgen. Das Ergebnis der Wertermittlung wird in den nachfolgenden Abschnitten der Regel (Handlungsanweisung und Validierung) ausgewertet. Innerhalb der Wertermittlung ist die Angabe weitere Tags notwendig.
(mehr ...)

keine

<SCHEDULE/>

Leitet die asynchrone Ausführung einer Regel ein. Dabei wird das <SCHEDULE/>-Tag verwendet, um die Wertermittlung vom JavaClient auf ein FirstSpirit-Modul zu verlagern.
Voraussetzung: Das entsprechende Modul muss zuvor auf dem Server installiert worden sein.
Die asynchrone Wertermittlung muss innerhalb einer Restriktionsstufe und vor den Tags zur Handlungsanweisung erfolgen. Innerhalb der Wertermittlung ist die Angabe weitere Tags notwendig. Optional kann eine Bedingung über das Tag <CONDITION/> definiert werden, die eine Ausführung der Wertermittlung über das Modul anstößt oder unterbindet. Zusätzlich können dem Modul Parameter über ein oder mehrere <PARAM/>-Tags übergeben werden, beispielsweise die Werte aus einer Eingabekomponente des Formulars. Die Handlungsanweisung wird nach Ausführung der asynchronen Wertermittlung mit dem vom Modul ermittelten Rückgabewert ausgeführt.
(mehr ...)

service: Name des Moduls

id: Zusätzliche Angabe eines Kürzels, um die Validierungs-Anfragen unterschiedlicher Formulare an das Modul eindeutig zu gestalten.

delay: (Optionale) Angabe einer Wartezeit in Millisekunden. Ohne Angabe wird der Wert 0 übernommen. Ist ein Wert größer 0 angegeben, wird die Ausführung der Validierung auf dem Modul, um die entsprechende Zeit verzögert.

<DO/>

Leitet eine Handlungsanweisung ein. Die Handlungsanweisung muss innerhalb einer Restriktionsstufe und nach der Definition einer (optionalen) Vorbedingung und einer Wertermittlung erfolgen. Das Ergebnis der Wertermittlung wird in diesem Abschnitt ausgewertet.
Dabei gilt: Sind die zuvor in der Wertermittlung definierten Bedingungen erfüllt, werden die Anweisungen innerhalb des <DO/>-Abschnitts ausgeführt.
Sonderfall: Der <VALIDATION/>-Abschnitt innerhalb des <DO/>-Abschnitts wird ausgeführt, solange die in der Wertermittlung definierten Bedingungen nicht erfüllt sind (d.h. solange die Wertermittlung FALSE zurückliefert)
Innerhalb der Handlungsanweisung ist die Angabe weitere Tags notwendig.
(mehr ...)

keine

 

4.Ebene der Regeldefinition - innerhalb einer Handlungsanweisung

<VALIDATION/>

Leitet eine Validierung ein. Die Validierung muss innerhalb einer Handlungsanweisung erfolgen. Die Validierung bezieht sich immer auf eine bestimmte Eigenschaft des Formulars oder einer Eingabekomponente, die innerhalb der Wertermittlung geprüft wird. Diese Eigenschaft wird innerhalb der Validierung auf ihre Gültigkeit geprüft. Dazu ist die Angabe eines <PROPERTY/>-Tags mit dem Attribut VALID notwendig. Alle nachfolgenden Handlungsanweisungen innerhalb des Validierungs-Abschnitts werden anschließend ausgeführt, solange die in der Wertermittlung definierten Bedingungen nicht erfüllt sind (d.h. solange die Wertermittlung FALSE zurückliefert).
(mehr ...).

keine

 

Innere Tags zur Wertermittlung oder zur Ausgabe von Korrekturhinweisen:

<MESSAGE/>

Dient zur Definition sprachabhängiger Hinweistexte, die bei einer Regelverletzung direkt unterhalb der entsprechenden Eingabekomponente im Formular eingeblendet werden. Das Tag kann innerhalb der Validierung eingesetzt werden.
(mehr ...)

lang: Angabe eines Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist, um festzulegen für welche Projektsprachen die Definitionen gelten sollen. Alternativ kann * für Rückfallwerte verwendet werden.

text: Angabe eines sprachabhängigen Hinweistexts.

<PROPERTY/>

Das Tag kann in allen Bereichen der Regeldefinition eingesetzt werden und dient dazu die Eigenschaften einer Eingabekomponente oder allgemeine Informationen zu einem Formular auszuwerten (z. B. Ist die Eingabekomponente leer?) oder Eigenschaften für eine Eingabe- oder Gestaltungskomponente zu definieren (z. B. Eingabekomponente soll im Formular ausgeblendet werden).
(mehr ...)

source: Name einer Eingabe- oder Gestaltungskomponente oder #global (mehr ...)

name: Angabe der Eigenschaft
(mehr ...)

<MATCHES/>

Dient zur Definition eines regulären Ausdrucks. Der reguläre Ausdruck wird über den Parameter regex übergeben. Neben dem regulären Ausdruck muss ein Vergleichswert über ein innen liegendes <PROPERTY/>-Tag angegeben werden. Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden.
(mehr ...).

Achtung: Nur möglich für einfache Werte (z. B. aus CMS_INPUT_TEXT), nicht für komplexere Werte (z. B. aus CMS_INPUT_DOM).

regex: Angabe des regulären Ausdrucks

<EQUAL/>

Dient zum Vergleich von Werten. Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden. Innerhalb des Tags müssen dazu mindestens zwei Werte zum Vergleich angegeben werden.
(mehr ...)

keine

<GREATER_THAN/>

Dient zur "Größer als"-Prüfung eines numerischen Wertes mit einem Vergleichswert. Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden. Innerhalb des Tags müssen dazu zwei Werte zum Vergleich angegeben werden.
(mehr ...)

keine

<LESS_THAN/>

Dient zur "Kleiner als"-Prüfung eines numerischen Wertes mit einem Vergleichswert. Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden. Innerhalb des Tags müssen dazu zwei Werte zum Vergleich angegeben werden.
(mehr ...)

keine

<NOT_NULL/>

Prüft, ob eine Eingabekomponente einen Wert enthält (TRUE) oder nicht (FALSE). Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden. Die Prüfung bezieht sich immer auf den Wert einer Eingabekomponente. Dazu ist innerhalb des Tags zusätzlich die Angabe eines <PROPERTY/>-Tags mit dem Attribut VALUE notwendig.
(mehr ...)

keine

<IN_GROUP/>

Dient zur Prüfung der Gruppenzugehörigkeit des Redakteurs. Das Tag kann innerhalb der Wertermittlung (oder bei der Definition einer Vorbedingung) eingesetzt werden.
(mehr ...)

name: Name der Gruppe

<AND/>

Dient zur logischen Und-Verknüpfungen mehrerer Bedingungen innerhalb der Wertermittlung oder bei der Definition einer Vorbedingung. Werden mehrere Bedingungen mittels <AND/> verknüpft, ist der der zusammengesetzte Ausdruck genau dann wahr, wenn alle verknüpften Ausdrücke wahr sind.
(mehr...)

keine

<OR/>

Dient zur logischen Oder-Verknüpfungen mehrerer Bedingungen innerhalb der Wertermittlung oder bei der Definition einer Vorbedingung. Werden mehrere Bedingungen mittels <OR/> verknüpft, ist der der zusammengesetzte Ausdruck genau dann wahr, wenn mindestens einer der verknüpften Ausdrücke wahr ist.
(mehr...)

keine

<NOT/>

Negation einer Bedingung innerhalb der Wertermittlung oder bei der Definition einer Vorbedingung.
(mehr...)

keine

<ADD/>

Dient zum Rechnen mit Werten in dynamischen Formularen. Das Tag kann innerhalb der Wertermittlung eingesetzt werden, um beispielsweise ganzzahlige Werte zu einem bestehenden Wert zu addieren oder eine zu definierende Zeitspanne zu einem bestehenden Datum zu addieren.
(mehr ...).

value: Über das Attribut kann ein ganzzahliger Wert oder eine Zeiteinheit, getrennt durch ein Leerzeichen, übergeben werden (mehr ...)

 

Innere Tags zur Angabe von Konstanten:

<DATE/>

Dient zur Angabe eines konstanten Datums innerhalb einer Prüfung auf Gleichheit (<EQUAL/>), Größer als (<GREATER_THAN/>) oder Kleiner als (<LESS_THAN/>).

Die Definition eines Datums erfolgt nach folgendem Schema: <DATE>Datum Zeit Zone</DATE>
Beispiel:
<DATE>2012-12-01 00:00:00 +0100</DATE>

Formatdefinitionen:
Datum hat das Format: jjjj-mm-dd mit
jjjj = Jahr, mm = Monatszahl, dd = Tag im Monat
(Bsp: 2011-12-15)
Zeit hat das Format: hh:mm:ss mit
hh = Stunde, mm = Minute, ss = Sekunde
(Bsp: 14:18:23)
Zone hat das Format: +zzzz oder -zzzz mit zzzz = Abweichung in Stunde-Minute-Angabe zur UTC
(Bsp: +0100) Die Abweichungen zur Sommer- bzw. Winterzeit müssen entsprechend berücksichtigt werden.

Kombinationsmöglichkeiten:
1) Datum Zeit Zone
2) Datum Zone - die Zeit wird hier auf 00:00:00 gesetzt
3) Zeit Zone - das Datum wird hier auf 01.01.1970 gesetzt (analog zur Datumskomponente)
4) Jeweils ohne Angabe von Zone - verwendet wird dann die aktuelle Zeitzone, die bei der Regelauswertung im JavaClient vorliegt.

Hinweis:
In der Kombination Datum-Zeit werden Datum und Uhrzeit als UTC gespeichert, wohingegen sie im JavaClient in der lokalen Zeitzone dargestellt werden. In diesem Fall sollte bei einer Regeldefinition kein Offset angegeben werden.
(mehr ...)

keine

<NUMBER/>

Dient zur Angabe einer numerischen Konstanten innerhalb einer Prüfung auf Gleichheit (<EQUAL/>), Größer als (<GREATER_THAN/>) oder Kleiner als (<LESS_THAN/>).
(mehr ...)

keine

<TEXT/>

Dient zur Angabe einer textuellen Konstanten innerhalb einer Gleichheitsprüfung (<EQUAL/>).
(mehr ...)

keine

 

Innere Tags zur Übergabe von Informationen an ein FirstSpirit-Modul:

<CONDITION/>

Leitet die Definition einer (optionalen) Vorbedingung für eine asynchrone Regelausführung ein. Die Definition der Vorbedingung muss innerhalb eines <SCHEDULE/>-Tags und vor den Tags zur Handlungsanweisung erfolgen. Die nachfolgenden Abschnitte der Regel (Wertermittlung über ein externe Modul, Handlungsanweisung, Validierung) werden nur ausgeführt, wenn die Vorbedingung erfüllt ist. Innerhalb der Vorbedingung ist die Angabe weitere Tags notwendig.
(mehr ...)

keine

<PARAM/>

Übergabe von Parametern an ein FirstSpirit-Modul. Wird die Wertermittlung vom JavaClient auf ein FirstSpirit-Modul übertragen, können innerhalb eines <SCHEDULE/>-Tags Parameter an das entsprechenden Modul übergeben werden, beispielsweise der aktuelle Werte aus einer Eingabekomponente des Formulars. Innerhalb eines <PARAM/>-Tags ist dazu die Angabe weitere Tags notwendig.
(mehr..)

name: Name des Parameters

   

© 2005 - 2014 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2013-08-06