<set>
<set>
is a special operation that allows for user-defined variables
and for setting their values. Values may be constant or defined by a 1010data Macro Language
query; however, all values set must be scalar.
Description
Both <set>
and <setv>
allow you to set values for
user-defined variables. <set>
is used for block variables, while
<setv>
is used for dynamic variables. While <set>
requires a variable name, <setv>
allows the variable name to be set with
programmatic logic.
Syntax
<set [USER_DEFINED_VAR_1]="[VALUE_1]" ...
[USER_DEFINED_VAR_N]="[VALUE_N]"/>
Alternate Syntax
<set> <[ARBITRARY_VARIABLE_AS_TAG]> [ARBITRARY_VALUE_OF_VAR] </[ARBITRARY_VARIABLE_CLOSING_TAG]> </set>
Attributes
[USER_DEFINED_VAR_x]
- Accepts a string that will act as a user-defined variable. The variable name must
begin with a lowercase alphabetic character and consist only of lowercase alphanumeric
characters, digits, and/or underscores.
The block element may include any number of additional attributes, which may be used as parameters in the Macro Language code contained within the element. The value of a user-defined variable (e.g.,
my_var
) is substituted wherever a scalar expression containing a reference to it (e.g.,{@my_var}
) appears within the block element.
Example 1
<base table="default.lonely"/> <set text="Some text here."/> <willbe name="text" value="'{@text}'"/>
Example 2
<base table="default.lonely"/> <set> <greetings> <foreach name="Bob,Carol,Ted,Alice">Hello, {@name}!> </foreach> </greetings> </set> <willbe name="greetings" value="'{@greetings}'" format="width:52"/>
Example 3
The following code sets a variable called pkg_str
to a package of
strings:
<base table="default.lonely"/> <set pkg_str="Stooge1:'Moe',Stooge2:'Larry',Stooge3:'Curly'"/> <willbe name="Stooges" value="{@pkg_str}"/>
Additional Information
<set>
uses the following shorthand to construct lists and packages, as
follows:
Data Structure | Syntax |
---|---|
package | <set pkg="{key:'value'}"/> |
list |
<set lst="{'value1','value2'}"/> |
package of strings | <set pkg_str="key:'value'"/> |
package from string |
<set pkg_from_str="{{@$pkg_str}}"/> |
list of strings | <set lst_str="'v1','v2'"/> |
list from string | <set lst_from_str="{{@$lst_str}}"/> |