List and CommasAndList are used to produce delimited lists either of repeating data elements (List) or data elements (or variables) containing a concatenated delimited list (CommasAndList).
ListDelimiter provides similar capabilities, but more under the control of the template author.
A typical example would be where a repeater containing clauses needs to be represented with each clause except for the last two ending in a semi colon, and the second last one ending in “; and ” :
«Clause»«ListDelimiter(position(),last()-2,';','; and ')»
This instructs XpressDox to insert a semi-colon after every Clause until it gets to the second-last one, at which point it inserts “; and” and thereafter (i.e. after the last one) it inserts nothing.