Variables refer to other widgets.
You can access parent and root widgets (with ../widget and /widget paths
respectively), but mind that in xreporter expressions these variables names
must be placed in brakets to be correctly parsed. For example
"{../widget} + otherWidget".
In case the value of a widget is null but the widget is required or calculated, then
a special exception will be thrown, the
CannotYetResolveWarning . This is
because in that case, you'll probably want to re-evaluate the expression at a later time
(since the widget is required, it will eventually get a value).
In case the value of the widget is null but the field is not required, then simply
null is returned. (TODO: a function IsNull() will provided in the expression library
so that expression writers can check for the likely condition where a non-required field
is null).
If the variable name does not refer to an existing widget, null is returned (TODO: this
behaviour will probably change in the future)
If the variable name contains the "/./" notation, it will return a Collection of values,
using the
org.apache.cocoon.forms.util.WidgetFinder utility.
|