Я сделал это для решения в прошлой жизни - точнее, я попросил кого-то сделать для меня немалую часть (-:
) По сути, вам нужны только две вещи, XML и XSLT -отдых - это просто слесарное дело и, вероятно, не нужно. XSLT достаточно, чтобы сделать все макеты, которые вы хотите, так что это всего лишь вопрос подключения XML к странице.
С точки зрения XSLT вы легкополучил возможность делать вещи типа главной страницы с помощью включений и контента с помощью шаблонов, которые определяются / переопределяются в шаблонах конкретных типов страниц.
Мы использовали подход, заключающийся в использовании маршрутизации и некоторых других элементовранний стек MVC - один бит вытягивал XML, один бит вытягивал XSLT, бит кода соединял их вместе, передавал параметры в XSLT и, наконец, просто передавал полученный HTML-код клиенту.
Еслиу вас есть погоня вокруг, вы обнаружите, что разные люди делали интересные вещи с помощью движков представления XML / XSLT для MVC.
InТермины «это хороший подход» - ну, для меня это очень хорошо работало для CMS, специфичной для клиента (без единого сгенерированного XML-файла), и, по сути, Umbraco был основан на той же предпосылке использования XSLT для рендеринга XML (хотя это несколько меняетсяс введением бритвы в умбрако).