Xvcl Pages; [ Cjos Audience]
Example
Let's say we have a list of three items: name, city and state.
<set-multi var="field-item" value="name,city,state"/>
How do we associate properties with each item? We prefer to use familiar dot notation.
Name
To add properties to name, use name.some-property as a variable name.
<set var="name.type" value="String"/>
<set var="name.minlength" value="1"/>
<set var="name.maxlength" value="30"/>
City
To add properties to city, use city.some-property.
<set var="city.type" value="String"/>
<set var="city.minlength" value="1"/>
<set var="city.maxlength" value="30"/>
State
To add properties to state, use state.some-property.
<set var="state.type" value="String"/>
<set var="state.minlength" value="2"/>
<set var="state.maxlength" value="2"/>
Property reference
To evaluate a property, first define a property reference. A reference is the name of a variable, not its value.
<set var="type-ref" value="?@field-item?.type"/>
To get the value, use two at (@) characters.
<set var="type" value="?@@type-ref?"/>
Multi-value property
A property can also be a multi-value.
<set-multi var="year.constraint" value="range"/>
<set var="year.range.minvalue" value="2001"/>
<set var="year.range.maxvalue" value="2007"/>
<set var="constraint-ref" value="?@field-list?.contraint"/>
<set-multi var="constraint" value="?@@constraint-ref?"/>
<set var="minvalue-ref" value="?@field-item?.?@constraint?.minvalue"/>
<set var="minvalue" value="?@@minvalue-ref"/>
<set var="maxvalue-ref" value="?@field-item?.?@constraint?.maxvalue"/>
<set var="maxvalue" value="?@@maxvalue-ref"/>
Non-example
The following illustrates how to associate properties without familiar dot notation.
<set-multi var="field-item" value="name,city,state"/>
<set var="typeOfname" value="String"/>
<set var="minlengthOfname" value="1"/>
<set var="maxlengthOfname" value="30"/>
<set var="typeOfcity" value="String"/>
<set var="minlengthOfcity" value="1"/>
<set var="maxlengthOfcity" value="30"/>
<set var="typeOfstate" value="String"/>
<set var="minlengthOfstate" value="2"/>
<set var="maxlengthOfstate" value="2"/>
<set var="type" value="?@typeOf@field-item?"/>
<set var="minlength" value="?@minlengthOf@field-item?"/>
<set var="maxlength" value="?@maxlengthOf@field-item?"/>
|