Я делаю так:
G_Z 16.12.2004 02:02
/ 16.12.2004 02:03
Методы и классы отдают xml блоки.
Затем они объединяются в один документ.
В последнюю очередь к нему применяется единственное xsl преобразование.
Соответсвенно в xsl должны быть шаблоны для всех модулей, которые есть в итоговом xml.
Лишнюю информацию (типа пустых table, tr/td и прочего) в xml пихать не нужно.
Это чистая информация.
Для таблицы, к примеру, генерите просто дерево-список, которое потом xsl трансформируете во что угодно.
Подход с одним xsl плох только одним - из-за большого размера выходит достаточно не маленькое время преобразования.
Поэтому я обычно создаю несколько xsl, которые инклюдю из одного, а он в свою очередь содержит только необходимые конкретной странице шаблоны (вызовы на них) и выбирается в зависимости от типа страницы.