Все верно говорите, не спорю. Только цель в плане MVC не достигнута =) В XSL не должно быть PHP - по хорошему если делать =) Но Вы мне помогли в любом случае - спасибо еще раз!
p.s.: я с XSLT знаком недавно - набираю опыта по нему.
kazinaki, так нет же никакого php в xsl! Вы не понимаете! PHP в xsl - это когда изнутри xsl-шаблона вызываются php-функции. Такое тоже технически возможно, правда, НЯЗ, не на всех хостингах. И вот это действительно нарушение парадигмы MVC. И этот случай описан в этой теме - Вот там - именно то про что вы говорите.
Но в моем-то способе изнутри шаблона никого вызова php-скрипта не происходит!
Вот смотрите. Вы запросили на страницу формы. Запустился скрипт, проанализировал url, передал управление соответствующей ТДС. Та проверила входной поток, увидела что данные формы не переданы, сгенерировала xml-документ по умолчанию и запустила xsl-процессор, передав ему этот xml-документ и xsl-шаблон. Процессор на выходе выдал в скрипт html-код, скрипт передал его веб-серверу, веб-сервер отдал его в браузер.
Вы увидели форму.
Заполнили ее и нажали на submit.
Браузер запросил url, указанный в action, и передал введенные данные.
Запустился скрипт, проанализировал url, опять передал управление соответствующей ТДС. Та проверила входной поток, увидела данные, проверила их правильность.
Далее а) данные в порядке, ТДС вызвала соответствующий метод нужного класса, чтобы сделать что-то с этими данными (допустим, сохранить их в БД), после этого сформировала xml-документ, соответствующий успешно обработаным данным, запустила xsl-процессор, передав ему этот xml-документ и тот же самый xsl-шаблон. Процессор на выходе выдал в скрипт html-код, скрипт передал его веб-серверу, веб-сервер отдал его в браузер.
Или б) данные некорректны, ТДС сгенерировала xml-документ по умолчанию, добавив в него введенные пользователем данные, и запустила xsl-процессор, передав ему этот xml-документ и все тот же xsl-шаблон. Процессор на выходе выдал в скрипт html-код, скрипт передал его веб-серверу, веб-сервер отдал его в браузер.
Ну нету тут php внутри xsl! Хslt-шаблонизатор всегда оказывается заключенным внутри php-процесса, но это-то как раз верно, а скрипт всего лишь формирует для шаблона некий набор xml-данных, интерактивно зависящий от действий пользователя.