Eigenschaft SIZE
Prüft die Anzahl der Elemente einer Listen-Eingabekomponente
Die Eingabekomponenten
ermöglichen die Erstellung von Listen. Die Anzahl der enthaltenen Listenelemente kann über eine Regel ermittelt und ausgewertet werden. Mithilfe des Attributs SIZE kann beispielsweise eine Regel definiert werden, die die Anzahl der möglichen Einträge in diese Eingabekomponente auf einen bestimmten Wert beschränkt.
Der Ausdruck <PROPERTY source='list' name='SIZE'/> kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und liefert die Anzahl der Einträge, die aktuell in der Eingabekomponente enthalten sind.
Zur Definition einer vollständigen Bedingung für eine Validierung, also z. B.:
- „Ist die Anzahl der in der Eingabekomponente enthaltenen Einträge größer als 10?“ oder
- „Ist die Anzahl der in der Eingabekomponente enthaltenen Einträge kleiner als als 2?“
muss zusätzlich ein Vergleichswert:
- ein konstanter numerischer Vergleichswert (z. B. <NUMBER>10</NUMBER>) oder
- ein variabler Vergleichswert, bspw. die Anzahl der Einträge einer weiteren Eingabekomponente der angegebenen Typen
und ein Operator:
- <GREATER_THAN/>,
- <LESS_THAN/> oder
- <EQUAL/>
angegeben werden. In diesem Fall liefert der Ausdruck einen Booleschen Wert zurück.
Beispiele
Beispiel 1) Beschränkt die Anzahl der Einträge für einen FS_CATALOG auf 6 Einträge
Das folgende Formular enthält eine Eingabekomponente „st_downloadareas“ (z.B. vom Typ FS_CATALOG) zur Angabe von Verweisen. Über ein dynamisches Formular soll sichergestellt werden, dass vom Redakteur nicht mehr als sechs Einträge zur Liste hinzugefügt werden.
Dazu wird innerhalb des <WITH/>-Abschnitts die Anzahl der Einträge in der Eingabekomponent geholt und gegen eine numerische Konstante verglichen. Das Ergebnis dieser „Kleiner-als“-Prüfung ist ein Boolescher Wert, der anschließend im <DO/>-Abschnitt mit einer Validierung der Eingabekomponente verknüpft wird. Solange die Bedingung („Anzahl der Einträge kleiner als 6“) erfüllt ist, bleibt die Action NEW aktiv.
<RULE>
<WITH>
<LESS_THAN>
<PROPERTY name="SIZE" source="st_downloadareas"/>
<NUMBER>6</NUMBER>
</LESS_THAN>
</WITH>
<DO>
<PROPERTY name="NEW" source="st_downloadareas"/>
</DO>
</RULE>