Here is another way you can go at it.
In your xlate have your input source as the field that contains the value that you have listed as your input. Have your output destination as three temporary variables (the naming of them is your choice):
@pattern
@occur
@ending
Here is what you would have as your pre tcl fragment:
set invals [lindex $xlateInVals 0]
set vals [lsearch -all -regexp -inline $invals “;”]
set vals [string map {; “”} $vals]
set xlateOutVals $vals
The first line will allow your to treat the variable invals as a string instead of a list.
The second line will pull out the answers your are looking for. Your string is also a searchable list. Since all of your answers will end in a semicolon, you are able to search for the “;” and it will pull your three answers.
The third line will strip off the semicolon from the end of each of your answers.
The fourth line will place each of your answers in the temp variables listed in your destination. From there you can move them anywhere you want in your message. Remember that although xlateOutVals is a list, so is your “vals” variable. Therefore, you don’t need the ”