Хорошо, да - T4 - это основанный на шаблонах подход, который может извлекать информацию из различных источников - обычно из базы данных (таблицы или системные каталоги).
T4 встроен в VS 2008 - вы можете определить файл .tt внутри VS2008 и сделать так, чтобы он генерировал свой вывод внутри VS.
У XSLT есть одно требование - входные данные должны быть XML, а сам XSLT также является XML, поэтому существует ряд проблем и возможных недостатков.
XSLT является автономным - вы можете установить и использовать любое количество двигателей XSL.
В целом: для меня T4 - это скорее инструмент для генерации кода «внутри VS» (для быстрого создания C # или других файлов), в то время как XSLT - это скорее инструмент для обработки / преобразования данных, из которого можно превратить данные XML в другой формат (обычно HTML или PDF с использованием XSL-FO).
Марк