Defining the Parameter Set
Parameter sets have the form:
Param_1, Param_2, Param_3, ...
where Param is the value either in argument "ValueParam=Param" or in "XmlFragmentParam=Param" .
For example, if the following argument is passed:
"ValueParam=multi_param"
then the function will write the matches it finds into parameters:
multi_param_1, multi_param_2, multi_param_3 ...
With Functions that read a parameter set, the values written to the parameter can then be evaluated. For example, the following code retrieves (using lr_xml_get_values) and prints out (using lr_eval_string) multiple matches of a query:
NumOfValues = lr_xml_get_values("Xml={XmlParam}", "Query=//string",
"SelectAll=yes", "ValueParam=MultiParam", LAST );
for (i = 0; i < NumOfValues; i++) { /* Print the multiple values of MultiParam */
char buf[1000];
sprintf (buf, "Retrieved value %d : {MultiParam_%d}", i+1);
lr_output_message(lr_eval_string(buf));
}
For Functions that write to a parameter set, the values of the parameter set must be pre-defined before the function can read from it. The parameter must also be named in the form:
Param_1, Param_2, Param_3, ...
where Param is the value in "Specification=Param".
For example, lr_xml_set_values reads each value from a parameter set and then sets that value in the XPath match returned by the query. The following code defines a parameter set called "ExtensionParam", which has two members: ExtensionParam_1 and ExtensionParam_2. lr_xml_set_values then queries the XML input string and sets the value of the first match returned as "1111" and the second as "2222".
lr_save_string("1111", "ExtensionParam_1");
lr_save_string("2222", "ExtensionParam_2");
lr_xml_set_values("XML={XML_Input_Param}",
"ResultParam=NewXmlParam", "ValueParam=ExtensionParam",
"SelectAll=yes", "Query=//extension", LAST );