GROUP Class
Parameter: a list of sub-rules enclosed in parenthesis, comma can be used as separator
in the list.
Optional modifiers: PREF, SUF, SEP, NULL.
Algorithm:
Processes each sub-rule of the list; if at least one variable gives a result, processes
the sub-rule specified by PREF and SUF; if at least two variables give a result, processes
the sub-rule specified by SEP; then builds the result string by concatenating
the PREF result, then the result of each variable for which a result exists, inserting
between each pair of existing results the SEP result, and finally the SUF result.
If there is no variable giving a result, processes the sub-rule specified by NULL, and
returns the NULL result.
Example
col_min_max GROUP (col_len, col_dec)
PREF = "("
SEP = " AND "
SUF = ")"
NULL = "Length and number of decimals are undetermined.";
col_len ATTR ColumnLength
PREF = "$name;'s length is : ";
col_dec ATTR ColumnDecimal
PREF = "$name;'s nb of decimals is : ";
The ColumnLength and ColumnDecimal repository functions return the length of the number
of decimals of a column. If the column is price, the length is 10 and the number of
decimals is 5, the result will be price's length is: 10 and price's nb of decimals
is: 5. If the length is undetermined, the result will be: price's nb of decimals is: 5;
if both are undetermined, the result will be: length and number of decimals are
undetermined.