Repeating data elements presents a challenge to the template author, especially in formulating sentences and descriptions where the number of parties or invoice items or other repeating data is unknown at the time of authoring the template. This recipe in the Cookbook demonstrates how XpressDox meets this challenge.
The central issue with repeating data is that the number of repeated data elements is not known at the time the template is authored, and so XpressDox offers the ForEach, List and Ordinal commands as a way of processing a variable number of repeated data elements.
If commands are called ‘block commands’ because they are terminated with a separate
End command. Between the start and end of the block there are other Merge Fields. There is a special behaviour related to block commands to help with eliminating unwanted empty paragraphs when the start and end appear on different paragraphs.
When users enter repeating data into your XpressDox template, you can manage the number of occurrences of a repeater. “Repeaters” are otherwise called “complex elements” in XML, but are essentially items through which you can
Add up repeating numbers using the Sum() function To simply add up all the numbers inside a ForEach, you can use the Sum() function as demonstrated below: «ForEach(Invoice_item)» «position()». «Desc»: «FormatNumber(Amount)» «End()» TOTAL: «FormatNumber(sum(Invoice_item/Amount))»