У меня уже есть опыт решения подобных задач через XSL(t) преобразование
См. http://infostart.ru/public/347510/ http://infostart.ru/public/352722/ и http://forum.infostart.ru/forum86/topic131918/message1362462/#message1362462
Обращайтесь в скайп tarassov.dmitry
Выполню сегодня ночью