Доброго времени суток.
В своей практике я когда-то использовал комбинацию XML+XSD+XSLT. Т.е. исходные данные поступают в виде XML файла, при этом если для него определена XSD схема (я определял её), то можно сразу же программно проверить содержимое на предмет корректности. В этом же XML файле указывается ссылка на соответствующий ему XSLT, задача которого состоит в том, чтобы на основе исходного XML создать новое представление, нужного формата (XML, HTML, SVG, TXT, PDF, CSV и т.п.). Формат может быть любым, но я для своих нужд генерировал HTML, поскольку этот вариант был наиболее предпочтителен. В составе этого же способа я сразу решал и вопросы локализации, т.к. контент мог отображаться на русском или английском, по желанию юзера.
Для XML можно переназначать ссылки на XSLT файлы, меняя тем самым результат визуального представления контента. Упрощённо говоря, XSLT - это что-то вроде очень навороченного CSS (CSS нервно курит в сторонке).
Если в базе данных сервера контент топиков находится не в формате XML, то и в этом случае его (XML) достаточно просто сгенерировать программно на лету, а далее уже дело техники.
Ну, это всего лишь как вариант... Если станет интересно - могу дать ссылки на рабочие примеры (когда-то упаковывал в это дело плагины для AutoCAD своим пользователям).
С уважением, Андрей