<ADD/>: Rechnen mit dynamischen Formularen
Das <ADD/>-Tag kann im Bereich Wertermittlung der Regeldefinition (siehe <WITH/>-Tag) 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 / minutes
- hour / hours
- day / days
- week / weeks
- month / months
- year / years
Der ganzzahlige Wert und die Zeiteinheit müssen durch ein Leerzeichen getrennt werden, z. B.
value="2 weeks"
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>
<RULE>
<WITH>
<ADD value="9">
<PROPERTY source="st_startValue" name="VALUE"/>
</ADD>
</WITH>
<DO>
<PROPERTY source="st_value" name="VALUE"/>
</DO>
</RULE>
</RULES>
Beispiel 2) 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:
<RULE>
<WITH>
<ADD value="2 weeks">
<PROPERTY source="st_startDate" name="VALUE"/>
</ADD>
</WITH>
<DO>
<PROPERTY source="st_endDate" name="VALUE"/>
</DO>
</RULE>