Eu sempre gostei do processador XSLT da nginx para trabalhos como esses. Escreveu uma longa postagem no blog sobre o ano passado, também - plug sem vergonha : link - desloque-se um pouco para a parte XSLT.
O processador XSLT do nginx também permite usar dados de outras fontes com a função document
.