parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

G_Z 09.10.2015 22:48

Ну, Парсер, как язык, погружённый в код, сам по себе прекрасный шаблонизатор.

А вот в сравнении с велосипедами в других языках лично мне XSLT нравится гораздо больше.
Он несколько громоздкий синтаксисом, но это издержки его разметочной природы и к тому быстро привыкаешь.
В некоторой степени прожорлив до памяти, но это из-за DOM-модели, которая даёт огромную гибкость.
XPath и вовсе мега-инструмент, позволяющий делать очень гибкие выборки из переданных в шаблон данных.

В конце-концов любой well-formed-документ можно использовать как трансформируемый исходник и делать разнообразные пост-преобразования без ковыряния с разбором HTML на части.

Для подхода «пассивный шаблон» он — то, что нужно.
Все данные есть в XML, и шаблонизатор занимается строго их выводом и форматированием.

Лично мне больше нравится «активный шаблон», когда часть логики выносится в шаблоны и они запрашивают по мере необходимости данные у контроллера.
Нечто похожее есть в UMI.CMS, если мне память не изменяет.

С XSL обычно используется довольно архаичный подход к генерации лайаута страницы, который заключается в километровых условиях и жёстких вариантах.
На мой взгляд, это издевательство над гибкостью XSLT и отказ от преимуществ наследования и переопределения шаблонов.
Альтернативой сделал XSL-Layout.

Если в Парсере упростится работа с обработчиками вызовов из XSL, то можно будет сделать вполне активный шаблон.
Где в шаблоне будет визуальная логика, а бизнес-логикой будет заниматься контроллер, например на PF.