Jonathan,
Please check my wiki.
Input can be text. Output can be proxy. Tailor the mapping logic. Add replace logic before constructing XML replaceAll("<","<").replaceAll("&","amp;"). Let me know, if you want guidance with splitting logic.
Multi-Mapping using Java Mapping - Process Integration - SCN Wiki