Итак, об извращениях. Кратко:
Когда мы создаем шаблоны, то как правило добавляет к HTML'ной рзметке некоторую другую, дополнительную разметку. Причем речь здесь идет именно о другом типе разметки ("{имя_макроса}" в дополнение к HTML'ому "<тэг параметры>").
Использование XML (XHTML) вместо HTML позволяет легко и однозначно отпарсить текст страницы, что позволяет как упростить введение дополнительной разметки того же типа ("<expand-macro name='foo' quote='url'>Default value</expand>"), так и использовать структуру HTML-объектов, дополнив их дополнительной информацией ("<table><tr for-array="foo"><td class-expr='php:$cellClassName'><expand-macro name='bar' quote='html'/></td></tr></table>").
Наличие в XML возможности создавать тэги в разных namespace'ах упрощает интеграцию модулей разных авторов в оном шаблоне.
Если интересуют подробности -- можнор рассмотреть более развернуто.