If your original document list and temp doc list is having similar structure,the directly map the root elements,your temp Document list structure will hold the values and work fine.
or else create a temp Document(remember not Documentlist) and do a loop on your in-array as you have specified(is /doc/TransactionContainer/Transaction )
and inside the loop map each iteration of Transaction[i] to this temp Document in a map step and immdiately invoke pub.list:appendToDocumentList and service and trick is drop the temp Document after appending to your temp original DocumentList.