Иногда трудно представить какая каша может твориться на форуме

.
Пока вы меня «посылали» на smarty.php.net я читал одну статью, где ИМХО абсолютно точно приводятся способы применения XML.
1. Эта технология может оказаться полезной для разработчиков сложных информационных систем, с большим количеством приложений, связанных потоками информации самой различной структурой. В этом случае XML - документы выполняют роль универсального формата для обмена информацией между отдельными компонентами большой программы.
2. Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным дополнением к HTML для распространения в Web "нестандартной" информации. Возможно, в самом ближайшем будущем XML полностью заменит собой HTML, по крайней мере, первые попытки интеграции этих двух языков уже делаются.
3. XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.
Еще один пример:
Представление результирующих данных приложения. Другим, не менее интересным, применением XML в веб-приложениях является представление результирующих данных в XML-формате. В качестве примера возьмем паттерн MVC. Здесь роль XML ярко
проявляется в процессе обмена данными между моделью (model) и видом (view).
Я же собираюсь использовать XML для представления модели страниц. Например, страницы панели администрирования в CMS. Все содержимое страницы, ее элементы описываются в XML-формате, не используя HTML и только потом эта модель будет преобразована в HTML. Отпадает необходимость создания отдельного шаблона для каждой страницы или ее части. Я говорю про шаблоны, к которым мы все привыкли, и которые использует Smarty при компиляции и выводе на экран. Как обычно шаблоны – HTML вперемешку с командами для Smarty. Я же хочу, чтобы модель, про которую я говорил, преобразовывалась бы в страницу. Например:
XML-модель страницы:
<admin_page>
<left_panel>
<title>Панель слева</title>
<text><site_logo/>Текст, отображаемый на панели слева</text>
</left_pane>
Smarty-шаблон на HTML (panel.tpl)
<table border=”3”>
<tr><td>{$PANEL_TITLE}</td></tr>
<tr><td>{$PANEL_TEXT}</td><tr>
</table>
Шаблон site_logo.tpl
<hr><img scr=”logo.gif” …><hr>
Допустим, пользователь устанавливает новый модуль для панели администрирования. Этот модуль содержит XML-модель вместо шаблона.
1. Пользователь запускает этот модуль
2. Система получает XML-модель страницы этого модуля
3. XML-модель преобразуется парсером в HTML, используя panel.tpl и site_logo.tpl.
При желании в XML-модель можно добавить еще какой-нибудь элемент. Например, <site_menu/>, а парсер бы уже сам догадался что делать с этим элементом и какой шаблон для этого использовать.