<EQUAL/>: Gleichheitsprüfung in dynamischen Formularen
Das <EQUAL/>-Tag kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und dient dazu zwei logische Ausdrücke miteinander zu vergleichen. Das Ergebnis des zusammengesetzten logischen Ausdrucks ist einen Boolescher Wert, der genau dann wahr ist, wenn „Ausdruck a“ und „Ausdruck b“ gleich sind:
<EQUAL>
Ausdruck a
Ausdruck b
</EQUAL>
Mithilfe des <EQUAL/>-Tags kann eine Eigenschaft des Formulars gegen einen Vergleichswert geprüft werden.
Dazu wird innerhalb des <EQUAL/>-Tags eine bestimmte Eigenschaft eines Formular-Elements (beispielsweise der Wert einer Eingabekomponente) oder auch des Formulars („In welchem Verwaltungsbereich wurde das Formular geöffnet?“) über ein <PROPERTY/>-Tag abgefragt.
Der Vergleichswert kann ein fester numerischer oder textueller Vorgabewert sein oder sich ebenfalls auf eine Eigenschaft eines (anderen) Formularelements beziehen.
Zur Angabe eines fest definierten Vorgabewerts können folgende Tags verwendet werden:
- <TEXT/>: Zur Angabe eines textuellen Vergleichswerts innerhalb eines vergleichenden Ausdrucks
- <NUMBER/>: Zur Angabe eines numerischen Vergleichswerts innerhalb eines vergleichenden Ausdrucks
Die Prüfung eines Datums auf Gleichheit mithilfe des <DATE/>-Tags innerhalb eines <EQUAL/>-Abschnitts ist nicht möglich. In diesem Fall müssen die Operatoren <GREATER_THAN/> und <LESS_THAN/> eingesetzt werden. |
Beispiele
1) Formular-Eigenschaft mit einem textuellen Vorgabewert vergleichen
VALUE / TEXT:
Wert einer Eingabekomponente (<PROPERTY/>-Tag) mit einem textuellen Vorgabewert (<TEXT/>-Tag) vergleichen:
<EQUAL>
<PROPERTY source="st_text" name="VALUE"/>
<TEXT>ABC</TEXT>
</EQUAL>
LANG / TEXT:
Die aktuelle Sprache, in der ein Formular vom Redakteur bearbeitet wird (<PROPERTY/>-Tag), mit einem Vorgabewert (Sprachkürzel innerhalb eines <TEXT/>-Tags) vergleichen:
<EQUAL>
<PROPERTY source="#global" name="LANG"/>
<TEXT>DE</TEXT>
</EQUAL>
STORETYPE / TEXT:
Den aktuellen Verwaltungsbereich, in dem ein Formular vom Redakteur geöffnet wird (<PROPERTY/>-Tag), mit einem Vorgabewert (Verwaltungsbereich innerhalb eines <TEXT/>-Tags) vergleichen:
<EQUAL>
<PROPERTY source="#global" name="STORETYPE"/>
<TEXT>pagestore</TEXT>
</EQUAL>
2) Formular-Eigenschaft mit einem numerischen Vorgabewert vergleichen
LENGTH / NUMBER:
Länge des Wertes einer Eingabekomponente (<PROPERTY/>-Tag) mit einem numerischen Vorgabewert (<NUMBER/>-Tag) vergleichen:
<EQUAL>
<PROPERTY source="st_text" name="LENGTH"/>
<NUMBER>3</NUMBER>
</EQUAL>
SIZE / NUMBER:
Die Anzahl der Einträge einer Eingabekomponente vom Typ
(<PROPERTY/>-Tag) mit einem numerischen Vorgabewert (<NUMBER/>-Tag) vergleichen:
<EQUAL>
<PROPERTY source="st_list" name="SIZE"/>
<NUMBER>2</NUMBER>
</EQUAL>
3) Zwei Formular-Eigenschaften miteinander vergleichen
VALUE / VALUE:
Werte aus zwei Eingabekomponenten miteinander vergleichen (über zwei <PROPERTY/>-Tags):
<EQUAL>
<PROPERTY source="st_value" name="VALUE"/>
<PROPERTY source="st_lowerLimit" name="VALUE"/>
</EQUAL>