Let’s see how we can use the variables to store temporary data or use for calculation. This is achieved using “xdoxslt:” function. These are the BI Publisher extension of standard xslt functions.
Use xdoxslt:set_variable () function to set /initialize the variable and xdoxslt:get_variable() function to get the variable value. $_XDOCTX is the System variables to set the XDO Context.
/*initialize a variables*/
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, 0)?>
/*update the variable’s value by adding the current value to MY_CNT, which is XML element */
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, xdoxslt:get_variable($_XDOCTX, ‘counter’) + MY_CNT)?>
/* accessing the variables */
<?xdoxslt:get_variable($_XDOCTX, ‘counter’)?>
/*Working in a loop*/
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, 0)?>
<?for-each:G1?>
/*increment the counter*/
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, xdoxslt:get_variable($_XDOCTX, ‘counter’) + 1)?>
<?end for-each?>
<?xdoxslt:get_variable($_XDOCTX, ‘counter’)?>