<ADD/> Rechnen mit dynamischen Formularen
Das <ADD/>-Tag kann im Bereich Wertermittlung der Regeldefinition eingesetzt werden und dient dazu:
- einen ganzzahligen Wert zu einem bestehenden Wert zu addieren, z. B.: „2 + 3“
- eine zu definierende Zeitspanne zu einem bestehenden Datum zu addieren, z. B. „01.01.2012 + 3 Tage“
Attribut value
Über das Attribut „value“ kann ein ganzzahliger Wert und (optional) eine Zeiteinheit (getrennt durch ein Leerzeichen) übergeben werden.
Dabei wird die Angabe der folgenden Zeiteinheiten unterstützt:
- minute(s)
- hour(s)
- day(s)
- week(s)
- month(s)
- year(s)
Es gilt:
- der ganzzahlige Wert und die Zeiteinheit müssen durch ein Leerzeichen getrennt werden, z. B. value=„2 weeks“
- ein Monat ist immer 30 Tage
- ein Jahr ist immer 365 Tage
Beispiele
Beispiel 1) Ganzzahligen Wert addieren
Im folgenden Beispiel-Formular gibt es zwei Eingabefelder „st_startValue“ und „st_value“. Das dynamische Formular soll automatisch den Wert „9“ zu einem vom Redakteur eingetragenen ganzzahligen Wert in der Eingabekomponente „st_startValue“ addieren und den neuen Wert in die Eingabekomponente „st_value“ übernehmen.
In diesem Beispiel wird also keine Validierung ausgeführt, sondern automatisch eine abhängige Eingabekomponente mit einem Wert gefüllt.
Die Wertermittlung erfolgt innerhalb des <WITH/>-Tags. Dazu wird über das <PROPERTY/>-Tag zunächst der Wert aus der Eingabekomponente „st_startValue“ geholt. Durch die umschließenden <ADD/>-Tags wird der Wert "9" zu dem bestehenden Wert addiert. Anschließend wird der neue Wert innerhalb des <DO/>-Abschnitts in die Eingabekomponente „st_value“ übernommen:
<RULES>
<ON_EVENT>
<WITH>
<ADD value="9">
<PROPERTY source="st_startValue" name="VALUE"/>
</ADD>
</WITH>
<DO>
<PROPERTY source="st_value" name="VALUE"/>
</DO>
</ON_EVENT>
</RULES>
Beispiel 2) Neues Datum berechnen
In einem weiteren Beispiel-Formular gibt es je ein Eingabefeld für ein Start-Datum („st_startDate“) und ein End-Datum („st_endDate“). Über ein dynamisches Formular soll beim Eintragen eines Start-Datums durch den Redakteur, automatisch ein End-Datum berechnet (+ 2 Wochen) und in die Eingabekomponente „st_endDate“ übernommen werden.
Die Wertermittlung erfolgt innerhalb des <WITH/>-Tags. Dazu wird über das <PROPERTY/>-Tag zunächst der Wert (Date-Objekt) aus der Eingabekomponente „st_startDate“ geholt. Durch die umschließenden <ADD/>-Tags wird die Zeitspanne "2 weeks" zum bestehenden Datum addiert. Anschließend wird das neue Datum innerhalb des <DO/>-Abschnitts in die Eingabekomponente „st_endDate“ übernommen:
<ON_EVENT>
<WITH>
<ADD value="2 weeks">
<PROPERTY source="st_startDate" name="VALUE"/>
</ADD>
</WITH>
<DO>
<PROPERTY source="st_endDate" name="VALUE"/>
</DO>
</ON_EVENT>