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.