www.umi-cms.ru

Об XSLT шаблонизаторе

Сергей Котырев   20.03.2008 | 15:18
Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.

Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.

С другой стороны, прошедшая недавно крупнейшая европейская IT-выставка CeBIT показала нам, что большинство серьезных западных CMS (и коробочных и внутренних платформ) используют XML/XSLT в качестве единого унифицированного стандарта. Все-таки, российский IT-рынок по скорости внедрения новых технологий слегка отстает от западного. На этом фоне говорить о том, что XSLT - отстой, пока весь мир его использует, не совсем полезно и правильно.

Поэтому я, зарегистрировавшись на Хабре, начну с попытки реабилитации несправедливо обиженного XSLT. На мой взгляд, ответственность участников рынка CMS как раз в том, чтобы продвигать современные технологии и быть своеобразными технологическими флагманами. А не дискредитировать их, даже если не получилось реализовать у себя или не нравится. Можно не читать тем, кто и так знает про XSLT или даже использует. Эта статья для тех, кто еще не в теме или сомневается. Тех, кто не согласен - прошу не устраивать холивар. Все имеют право высказывать свое мнение.


Шаблонизаторы XSLT, Smarty и внутренние tpl коробочных CMS.


Все технологические преимущества XSLT основаны на основной концепции, заложенной в него, - полное разделение бизнес-логики и логики представления. Смешать модели представления и модели бизнес-логики – это смертный грех программиста. И только человек с очень низкой квалификацией с этим не согласится. При этом, например, достаточно популярный шаблонизатор Smarty, не только позволяет реализовывать бизнес-логику в шаблоне, на уровне представления, но и подталкивает разработчика к этому, искушает его быстрым решением сиюминутной задачи. К чему это приведет впоследствии – к неструктурированной цепочке связей между шаблонами и скриптами, которая нарастает как снежный ком и в итоге становится неуправляемой. В итоге изменение, например, одного метода, который используется в шаблоне, приведет к тому, что «упадет» весь шаблон.

Любые задачи по расширению становятся сравнимы с «написанием всего с нуля» даже для того разработчика, который изначально вел проект. Не говоря о том, что становится невозможным передача этого проекта другому разработчику. Таким образом, преимущества использования отчуждаемой CMS могут отчасти нивелироваться использованием Smarty, так как в сложном и тем более нестандартном внедрении он делает созданный проект неотчуждаемым от своего разработчика. Смена разработчика в большинстве случаев будет означать то самое «переписывание с нуля», которое, как ни парадоксально, в этом случае окажется более выгодным, чем трудозатраты на изучение «чужого» кода. Очевидно, что это решение не оптимально, и повлечет за собой очередную порцию достаточно существенных финансовых вливаний.

Поэтому говорить о невысокой стоимости владения серьезного проекта, созданного с использованием такого шаблонизатора не приходится. Разумеется, если проект небольшой, смены разработчиков не предвидится или вам нужно быстро сделать и забыть – Smarty подходит больше.

Также нельзя не отметить незащищенность «от дурака», если в CMS используется Smarty – внедренец невысокого уровня «с помощью» Smarty может легко прямо в шаблоне прописать запрос к БД и обрушить всю систему целиком.

Важная характеристика родных tpl-шаблонизаторов CMS – их индивидуальность, т.к. в большинстве случаев они написаны для каждой конкретной CMS. Каждый индивидуальный шаблонизатор требует от внедренца предварительного изучения, и это увеличивает стоимость разработки.

В итоге, Smarty на практике показывает себя как простой, привычный, но не очень гибкий, нерасширяемый, слабо отчуждаемый от разработчика, к тому же еще потенциально небезопасный. Эти недостатки всегда сопутствуют смешению бизнес-логики и модели представления данных. И с этой точки зрения, Smarty и ему подобные выступают антиподом технологии XSLT, которая, собственно, и создавалась, для того чтобы все эти недостатки устранить.

10 аргументов в пользу XSLT


Надежность технологии

1) XSLT - это давно появившийся индустриальный стандарт, поддерживаемый W3C. Он разрабатывается многочисленной командой профессиональных разработчиков. Технология постоянно улучшается и обновляется за счет качественной поддержки. Во всем мире XSLT уже давно воспринимается как стандарт верстки, в России он используется на таких крупных проектах как Яндекс, Мой Круг и других.

Безопасность


2) Жесткое разделение бизнес-логики и модели представления данных ни при каких обстоятельствах не позволит верстальщику «убить» всю систему, если он имеет доступ только к шаблонам.

Гибкость

3) XSLT позволяет повторно использовать результаты уже произведенной работы. Единожды сверстанный на XSLT шаблон не держит на себе функциональность бизнес-логики и ее отработки, поэтому он свободно масштабируется и переносится на другие проекты.

4) Для типовых операций достаточно создать шаблон только один раз и использовать его из проекта в проект. Пример из практики: студия-партнер получила заказ на разработку 3-х сайтов автосалона под различные марки автомобилей. На создание первого сайта у нее ушло около 2-х месяцев, второй сайт с учетом новых доработок был разработан за 1 месяц, третий сайт был поднят за 2 недели. Благодаря тому, что собственно технология уже сделана, сайты остается только «разукрасить» (т.е. сменить дизайн). Единожды решенная задача, в следующий раз требует в 2-3 раза меньше времени даже с внедрением новых функций.
Доступность, понятность, невысокая стоимость разработки

5) По нашему опыту, верстальщику, знакомому только с HTML и CSS, время разработки проекта на XSLT с нуля составит в среднем около месяца-полутора. При этом если он занимается изучением XSLT в отрыве от других задач по проектам, то может освоить его за полторы недели. Для сравнения – освоить tpl-шаблонизатор конкретной CMS такой же верстальщик сможет в среднем за неделю, а освоение в процессе работы над проектом займет у него тот же месяц. Но XSLT верстальщику нужно освоить только один раз, а каждый отдельный tpl-шаблонизатор тянет за собой отдельное изучение. Поэтому уже после разработки первого проекта на XSLT можно говорить об экономии на этапе внедрения.

Отчуждаемость

6) Переработать чужой XSLT-шаблон может любой XSLT-верстальщик. Технология является стандартной, переход от одного разработчика к другому не представляет проблемы, что обеспечивает отчуждаемость проекта и существенную экономию на стоимости владения проектом.

Расширяемость

7) Правка XSLT шаблона не предполагает вмешательства в бизнес-логику и анализ структуры связей, которые могли бы использоваться в шаблоне будь он на Smarty. Поэтому, например, изменения в бизнес-логике не приведет к обрушению других шаблонов. В этом уже заложены возможности для последовательного расширения, так как все связи структурированы и поддаются модификации. Расширяемость при таком подходе становится гораздо менее трудозатратной, и снова снижается стоимость владения проектом.

При нынешних требованиях заказчиков очень сложно представить проект, который не потребует доработки и расширения в будущем. XSLT –это сейчас наилучший стандарт, который позволяет предусмотреть развитие проекта и закладывать возможности на перспективу.

8) Некоторые задачи, решаемые в XML+XSLT просто и эффективно, представляются как минимум нетривиальными без XSLT.

Например, с помощью XSLT можно строить децентрализованные сервисы (в частности, популярный в контексте Веб 2.0 mash-up), можно использовать для построения кластерных систем (конечно же, это не касается CMS). Обмен контентом с другими ресурсами на основе XML-формата позволяет использовать чужие сервисы на собственном сайте. При этом если этот сторонний сервис «ляжет», то с сайтом ничего не произойдет – данные могут браться из КЭШа какое-то время, а потом может перестать отображаться именно этот сервис при остальной работоспособности сайта в целом. Описанный выше подход Smarty благодаря развитым и неструктурированным связям с великой долей вероятности поспособствует тому, чтобы вместе с тем самым сторонним сервисом «лег» и весь сайт целиком.

Нативная поддержка XML

9) Изобилие данных в формате XML, которые часто нужно использовать в проекте, - это наша реальность. XSLT- шаблонизатор является «родным» парсером для XML, а все остальные решения – «велосипед».

Производительность и скорость работы

10) Один из «недостатков», которые ставятся некоторыми разработчиками в «вину» XSLT - то, что он не может решить задачи бизнес-логики. Сложно представить себе более абсурдное утверждение. В этом смысле накладывать базу данных на XSLT и требовать высокой скорости работы – такой же абсурд, как воспроизводить диск с поддержкой 5.1 через динамик обычного телевизора и требовать при этом Dolby Surround. XSLT по определению не должен этим заниматься, он создан только для того, чтобы реализовывать представление. А вот бизнес-логика должна подготовить те данные, которые ему нужны, чтобы отобразить страницу. И если она их подготовит, то о скорости работы XSLT вопросов возникнуть не может, потому что передавать нужно только то, что будет отображаться на странице (в большинстве случаев 10-50 товаров). Если делать полное преобразование базы на 10 тыс. товаров в XML, а потом на это накладывать XSLT-трансформацию, то результаты производительности будут весьма печальны. При этом будет полностью изнасилована концепция разделения бизнес-логики и представления, на которой основан XSLT. Неудивительно, что при подходе, описанном у Сергея Рыжикова, он не покажет чудес производительности и скорости.

О недостатках XSLT.


К сожалению, идеальных людей/продуктов/технологий не бывает. XSLT не исключение.

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

Другим ограничением по массовому использованию XSLT в России многие называют существенно более высокий уровень заработной платы XSLT-верстальщика по сравнению с HTML-верстальщиком. Отчасти это так, но во многом ситуация нагнетена искусственно. В свое время, верстка на дивах была такой же экзотикой, как сейчас многим представляется XSLT. Но это не помешало ей получить широкое распространение благодаря реальным преимуществам перед табличной версткой. И дефицит специалистов по дивной верстке достаточно быстро восполнился на рынке. Поэтому появление XSLT-верстальщиков – вопрос при времени при очевидном превосходстве XSLT над другими существующими шаблонизаторами.

Выводы.


Для начинающего разработчика разобраться с tpl-шаблонами часто проще. Но на определенном этапе развития проекта использование XSLT становится оправданным как с технологической, так и с экономической точки зрения. Поэтому необходимо давать разработчикам выбор между tpl и XSLT. Но самим разработчикам необходимо понимать, что прогресс неизбежен и массовое распространение XSLT – это вопрос времени. Весь мир пошел этим путем и игнорировать его не стоит. Поэтому чем раньше разработчики начнут осваивать XSLT, тем больше денег заработают в будущем.
captcha

Комментарии

Гость

Начинаю обрашать внимание

26.03.2008 | 12:57
Заинтересовался UMI CMS как легкой платформой, без XSLT.

А тут владелец пишет о внедрении онной. Если будут поддерживаться 2 формата шаблонов это хорошо, если будет переход в сторону XSLT будет плохо, пример тому Битрикс. Не наступайте на одни и те же грабли.

Плохо:
1. Верстка дороже. С дивовой сравнивать бесполезно, т.к. последняя шла по одной цене с табличной, сначала было делом «вкуса» верстальщика.
2. Времени больше. При любом сравнении классическая верстка занимает 1-2 рабочих дня. Никак не месяц, ни полтора и не неделю.
3. Штат. Поиск сотрудников быстрее и легче. Верстальщиков огромное кол-во, и большое кол-во среди них состоявшихся профессионалов. XSLT верстальщик, честно слово язык не поворачивается назвать такого человека верстальщиком.
4. Еще раз дороже и не выгодно. XSLT это не для бюджетных сайтов. Нужно учитывать специфику рынка зарубежного и российского.
captcha
Сергей Котырев  (serge)

не волнуйтесь

26.03.2008 | 14:02
У нас теперь будет два шаблонизатора на ваш вкус ;)
Мы продолжаем поддержку и дальнейшее развитие tpl-шаблонов, поскольку понимаем, что во многих ситуациях они предпочтительнее xslt.

Более того, для младшихверсий SOHO мы даже рекомендуем пользоваться стандартным шаблонизатором.
XSLT предпочтительнее для сложных или масштабируемых и реплицируемых проектов.
captcha
Гость

Вопрос

02.04.2008 | 09:54
Сергей, добрый день!

Прочитал в интернете статью про использование Вашей системой XSLT-шаблонизатора. Очень интересно. Но вот возник вопрос, все же касающийся производительности. Как я понимаю, данные в Вашей системе хранятся все же в БД, а не в XML. Как Вы пишите: "Если делать полное преобразование базы на 10 тыс. товаров в XML, а потом на это накладывать XSLT-трансформацию, то результаты производительности будут весьма печальны." Т.е. все же преобразование базы делать надо. А как это делается в Вашей системе? Т.е. не получается ли так что мне, как разработчику, для преобразования БД надо использовать tpl-шаблонизатор, а потом на результат натягивать XSLT?
captcha
Сергей Антонинко  (lyxsus)

Re: Вопрос

02.04.2008 | 12:26
Возьмем тот же каталог на 10 000 позиций. Когда мы просматриваем список наименований, нам достаточно вывести 10-25 позиций. В таком случае на бек-энде должна быть выборка именно этих 10-25 позиций, по результатам выборки необходимо сформировать XML, который и будет передан в XSLT.
captcha
Гость

RE:RE: Вопрос

02.04.2008 | 15:47
А как должен формироваться XML? Т.е. это надо программить отдельно на PHP выборку и формирование XML-а?
captcha
Гость

Re: RE:RE: Вопрос

02.04.2008 | 19:31
да, так и надо.
captcha
Гость

Да уж...

03.04.2008 | 13:49
Получается, что мне для того, чтобы сверстать сайт на XML+XSLT нужен верстальщик, который соотв. XSLT-создаст и еще PHP-программист, который напишет скрипты для выборки и формирования XML-а. Которому еще и структуру БД Вашей системы надо знать. Зачем система тогда нужна?

Ну не очень хорошо этот момент продуман, прямо скажу.
captcha
Гость

Re: Да уж...

07.04.2008 | 16:33
Для расширения функционала в любом случае понадобится php-программист, и натягивать дизайн тоже придется - с xslt или без него. Просто в случае с xslt это будет эффективнее.
А система в свою очередь позволяет необходимые данные получить без участия php-программиста. Отсюда и выгода.
captcha
Гость

про XSLT

04.04.2008 | 08:55
XSLT существует практически с незапамятных времен (по меркам интернета). Более того уже давно есть EXSLT и XSLT 2.0. (которые почему-то не так хорошо продвигаются в массы). Я знаю и форматировал на нем сайты еще 2 года назад. Сайт нашей студии тоже сделан на XML/XSLT.
Тем не менее Шаблонизатор XSLT в ЮМИ мы сейчас не используем. Честно говоря XSL надоел. Я помню те, довольно крупные проекты, которые мы делали... Горы и моря XSL-кода. Уфф.
Действительно, чтобы форматировать на XSL необходимо иметь определенную квалификацию и опыт. Также необходимо очень трепетно относиться к качеству XHTML-кода, т.к. XSLT не терпит незакрытые теги, кавычки, а также различные спецсимволы. Порой "мистику" приходилось выявлять часа два, пока не обнаружишь где-нибудь, например, гиперссылку со знаком "&" а не "&". Еще один бич - отсутствие нормальной работы с датами. В XML, как правило, один формат, а для сайта нужно три разных. Отсутствие функции random тоже порой мешало. Приходилось генерить случайное число в программном коде, и выдавать его в XML. ... С переменными работать неудобно. Раздражало постоянно писать
captcha
Гость

про XSLT

04.04.2008 | 08:57
:)) Сообщение обрезалось
... писать
captcha
Гость

про XSLT

04.04.2008 | 08:58
понятно, тэги не прокатывают.
XSLT существует практически с незапамятных времен (по меркам интернета). Более того уже давно есть EXSLT и XSLT 2.0. (которые почему-то не так хорошо продвигаются в массы). Я знаю и форматировал на нем сайты еще 2 года назад. Сайт нашей студии тоже сделан на XML/XSLT.
Тем не менее Шаблонизатор XSLT в ЮМИ мы сейчас не используем. Честно говоря XSL надоел. Я помню те, довольно крупные проекты, которые мы делали... Горы и моря XSL-кода. Уфф.
Действительно, чтобы форматировать на XSL необходимо иметь определенную квалификацию и опыт. Также необходимо очень трепетно относиться к качеству XHTML-кода, т.к. XSLT не терпит незакрытые теги, кавычки, а также различные спецсимволы. Порой "мистику" приходилось выявлять часа два, пока не обнаружишь где-нибудь, например, гиперссылку со знаком "&" а не "&". Еще один бич - отсутствие нормальной работы с датами. В XML, как правило, один формат, а для сайта нужно три разных. Отсутствие функции random тоже порой мешало. Приходилось генерить случайное число в программном коде, и выдавать его в XML. ... С переменными работать неудобно. Раздражало постоянно писать choose when... otherwise...
В общем, для меня XSLT пройденный этап. Хочется чего-то более простого. Таким образом, я за tpl.
Дмитрий Кубай, Студия Чёрный Лис, Владивосток.
captcha
Гость

Re: про XSLT

08.04.2008 | 11:39
В php при работе с xslt можно использовать exslt, в т.ч. для форматирования дат. Я считаю, что если из языка убрать конструкции типа "choose when... otherwise", его функциональность сильно не пострадает. Лучше использовать "apply-templates".
А вообще, мы оставили tpl'ый шаблонизатор. От него мы не отказываемся. :)
captcha
Гость

По пунктам

30.04.2008 | 10:21
> 1) XSLT - это давно появившийся индустриальный стандарт...

Пустые слова. По этой логике, CGI, написанные на ANSI C (стандарт), гораздо приемлемее, чем PHP и, тем более, Perl.

> 2) ...не позволит верстальщику «убить» всю систему...

О да, конечно. http://xml.apache.or...ql/XConnection.html

> 3) XSLT позволяет повторно использовать результаты уже произведенной работы.

Пустые слова. Скопировать и подправить можно исходник на любом языке.

> 4) Для типовых операций достаточно создать шаблон только один раз и использовать его из проекта в проект.

То же самое. (Накрутка счётчика до 10).

Для крупного авторитейлера, кстати, характерно раз в подгода-год менять под корень не только дизайн, но и логику.

> 5) ... Но XSLT верстальщику нужно освоить только один раз, а каждый отдельный tpl-шаблонизатор тянет за собой отдельное изучение.

XSLT -- это *тоже* отдельный шаблонизатор. Как все, только самый раздутый и неудобный.

> 6) Переработать чужой XSLT-шаблон может любой XSLT-верстальщик.

Пустые слова. Переработать чужой код может любой грамотный спец, независимо от языка.

Если вести речь о прозрачности XSLT-кода, то её нет. Если вызов функции (call-template) с 3 аргументами в норме занимает 5 строк, такой код не может быть читаемым.

Насчёт "стандартности" см. п. 1.

> 7) ...изменения в бизнес-логике не приведет к обрушению других шаблонов.

Изменения бывают разными. Если они касаются состава и значений параметров, передаваемых через теги A и INPUT, менять шаблоны придётся.

На самом деле, поскольку в HTML гиперссылка одновременно и элемент дизайна и RPC-вызов, "отделение бизнес-логики" недостижимо в принципе.

> все связи структурированы и поддаются модификации.

Ага, и не поддаются обнаружению. xsl:apply-templates "на кого бог пошлёт" при большом количестве инклюдов -- это как раз то, что превращает поддержку в ад.

> Расширяемость при таком подходе становится гораздо менее трудозатратной, и снова снижается стоимость владения проектом.

Расширение (за некоторую критическую черту) при таком подходе приводит к коллапсу, и стоимость владения проектом снановится неопределённой.

> XSLT – это сейчас наилучший стандарт

Снова пустые слова.

> 8) Некоторые задачи, решаемые в XML+XSLT просто и эффективно, представляются как минимум нетривиальными без XSLT.

Подтасовка. Кэшрование кусочков чужого контента НЕ является встроенной функцией XSLT, а разбирать RSS на дату, заголовок и тело можно очень много чем.

> 9) Изобилие данных в формате XML, которые часто нужно использовать в проекте, - это наша реальность. XSLT- шаблонизатор является «родным» парсером для XML, а все остальные решения – «велосипед».

Можно подумать, что XML -- это фундаментальное свойство материи. Или что хотя бы где-то имеются готовые, неразработанные залежи XML, которые без XSLT никак не поднять.

В действительности XML по-серьёзному НЕ применяется даже в AJAX-проектах (хотя и фигурирует в названии). Снифферните Google Maps -- и увидите, что конкретно для передачи слабостуктурированных данных JSON гораздо удобнее XML.

> 10) Один из «недостатков», которые ставятся некоторыми разработчиками в «вину» XSLT - то, что он не может решить задачи бизнес-логики. Сложно представить себе более абсурдное утверждение.

Уж да, абсурд. По сравнению с остальными недостатками этот практически незаметен.

> требовать высокой скорости работы – такой же абсурд

Ну разумеется. Это ж индустриальный стандарт. Зачем же быстро, когда можно серьёзно? (Я сейчас о скорости собственно трансформации).

> передавать нужно только то, что будет отображаться на странице (в большинстве случаев 10-50 товаров).

Вот! Карточки товаров с 1 фоткой и списочки по 10-50 наименований -- это и есть предел допустимой применения XSLT.

Для справки: в своё время моим заданием было написать набор XSLT, реализующий интерфейс Outlook. Допустим бизнес-логика отработала чётко, и вам приехали задачи на текущий месяц. А теперь нарисуйте-ка календарик :-}}

> Поэтому XSLT требует от разработчика особой тщательности, аккуратности и внимательности к деталям.

И что же вы такое говорите? Требует-таки тщательности, да не простой, а особой?! А вдруг кто-то возьмёт, да и ошибётся? Стоимость владения может... не снизиться? Как же так?
captcha
Гость

+100500

12.07.2008 | 14:53
предыдущий оратор абсолютно прав!
captcha
Гость

Re:+100500

26.09.2008 | 21:55
+1
captcha
Гость

Re:+100500

14.10.2008 | 12:51
предыдущий оратор не в теме
captcha
Андрей

Re:Re:+100500

13.11.2008 | 16:50
А кто мешает использовать обычный TPL? раз так противен XSL? Есть же вариант! Я бы понял критику, еслибы не было вариантов.
captcha
Александр

Re:По пунктам

25.11.2008 | 19:14
Полность согласен с критикой XSLT/XML. Аргументация в пользу XSLT Котырева носит "религиозный" характер. Кстати, популярная аргументация в пользу безтабличной верстки точно также "религиозна" и слаба. Как любая религия, она лишь демонстрирует слабое реальное понимание проблемы, подменяя его религиозными мантрами (пустыми словами) о "мировых тенденциях" и "индустриальных стандартах". Религиозность это вернейший признак слабой аргументации. А в деталях всё блестяще сказано в комментарии "По пунктам" -- логика здесь безупречна, и хорошо показанно, что вся преведенная аргументация в пользу XSLT по-сути крайне слаба, местами ничтожна.
captcha
Александр

Re:Re:По пунктам

25.11.2008 | 19:46
Впрочем, понимаю и Котырева -- "религия" хорошо продается, поэтому XSLT добавлена в продукт, а XSLT-аргументации от Котырева это лишь маркетинговые комуникации (а на что вы расчитывали в корпоративном блоге то?).
captcha
Андрей

Re:Об XSLT шаблонизаторе

13.11.2008 | 16:45
Вообще до недавнего времени не подозревал о XSLT, но коснувшись технологии понял, что открываются новые возможности для внедрения UMI - это несомненный плюс. Все объекты системы представлены в XML виде - это на самом деле очень удобно, в том числе и для реализации интерфейсов на flash. На самом деле это гениально, чтобы там не говорилось. Раньше лично я очень часто лез в код для исправления какойто возможности... теперь этот прием сократился в своем применении
captcha
Jeket   (Jeket)

Re:Об XSLT шаблонизаторе

29.01.2009 | 05:24
На мой взгляд спорно что в XSLT разделение бизнес логики и логики представления более явно чем в семантической CSS верстке, как пример http://csszengarden.com/, хотя это не идеал... свои работы приводить не хочу, но правельный принцип на мой взгляд - это когда верстаешь, не задумываешься о дизайне вообще, в первую очередь работая с информацией и ее структурности в рамках документа, а потом в CSS уже доводишь все до нужного визуального представления (Хотя не всегда это возможно, лишние блоки иногда приходиться ставить в угоду дизайна). А вообще XSLT верстка это какое-то странное понятие... XSLT это язык преобразований, по сути - шаблонизатор. На практике один из инструментов, используемый в разработке, как и куча других инструментов. То что в юми появился XSLT шаблонизатор, сильно расширило функциональные возможности системы с точки зрения разработки. Вопрос в людях, которые используют этот инструмент. И как любой инструмент он имеет право быть, а люди имеют право выбирать, исходя из представлений целесообразности использования
captcha
Jeket   (Jeket)

Re:Re:Об XSLT шаблонизаторе

29.01.2009 | 05:31
В Москве, в гостях у РБК, я как-то говорил Диме Неуймину по поводу внедрения "гибридных шаблонов" - концептуально другой принцип - совместить легкость тпл и функционал XSLT - этого нет ни в одной из отечественных комерческой ЦМС, но до реализации в ЮМИ это врятли дойдет скоро... обидно...
captcha