Including RTL variables in PXML expressions
You may want your PXML expression to specify a variable. For this, we use RTL expressions embedded in curly braces.
We are now mixing two languages. The content within the braces is RTL, the content outside the braces is a PXML expression.
The rules for embedding RTL in PXML are:
- wherever a numeric constant is allowed in PXML, you can insert an RTL numeric expression (enclosed in curly braces) instead.
- wherever a string constant is allowed in PXML, you can insert an RTL string expression (enclosed in curly braces) instead.
max(10cm,width("HELLO"))
This PXML
expression contains one numeric constant ("10") and one string constant ("HELLO"). These constants
can be replaced by data variables, enclosed in curly
braces:max({orderline.orders.shipcity.trim().length()}cm,width("{orderline.orders.shipcity}"))
It is good practice to use the trim()
function to remove extra
whitespace from a string expression.
For this expression to be legal, the variable order_line.titlewidth has to be of type Numeric, and the variable order_line.title has to be of type String.
You cannot construct a dynamic expression where the function names (such as
max
or width
) or the unit names (such as
cm
) are dynamic.