На прошлой неделе убил, наверное, целый день на то, чтобы сделать специфический шаблонизатор на XML/XSLT (сам проект на PHP). Все красиво и замечательно, но вот проблема: когда мы включаем содержимое внешнего файла конструкцией вида
<xsl:copy-of select="document('/include/something.html')" />
,
надо иметь в виду, что содержимое этого файла обязано пройти валидацию. А если речь идет о том, чтобы включить что-то чужое (например, счетчик на JavaScript), валидацию оно как раз и не пройдет. Реальная жизнь — она такая.
Можно, конечно, поизвращаться, настругать каких-нибудь костылей, но красота и замечательность уйдут.
В итоге отказался от этой затеи, сами страницы оставил в XML, а шаблоны — классика, HTML с примесью PHP. Загружаю XML в DOMDocument и едем.