Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «xslt»
PHP-расширение dom_varimport: быстрое преобразования вложенных массивов в DOMDocument 2014-04-18 14:48:12
... Некоторые проекты используют XSLT в качестве ... Помимо известных недостатков XSLT (например, его ...
+ развернуть текст сохранённая копия
Некоторые проекты используют XSLT в качестве основного «движка» шаблонов. Помимо известных недостатков XSLT (например, его многословности, относительной медлительности и т.д.) у него есть и преимущества: «стандартность» языка, его идеология отсутствия «побочных эффектов» и pattern matching, возможность при необходимости вызывать методы helper-классов из шаблонов (через exslt-расширение). Какое-то время назад я выкладывал библиотеку ShortXSLT, позволяющую вместо громоздких <xsl:value-of select="/root/abc"/> и <xsl:choose>...</xsl:choose> писать просто {/root/abc} и {if...}...{elseif}...{/if} без потери производительности, так что проблема многословности отчасти решается.
Но сейчас речь не о преимуществах и недостатках XSLT (я уверен, и противники, и сторонники этой технологии найдутся в изобилии). Я бы хотел описать один прием, который удобно применять в существующих проектах с XSLT-шаблонами, и привести ссылку на библиотеку, реализующую данный прием с хорошей производительностью.
Передаем данные в XSLT, минуя генерацию текстового представления XML
Представьте, что у нас есть контроллер, генерирующий некоторый вложенный PHP-список объектов для отображения на странице. Он должен этот массив преобразовать в XML, который потом пойдет на вход XSLT-шаблону. Хорошо бы, чтобы данное преобразование из структур PHP в XML выполнялось не вручную в каждом контроллере, а был некоторый промежуточный слой абстракции, который умеет применять XSLT-шаблон прямо к PHP-данным, минуя текстовое XML-представление. Так мы уменьшим вероятность ошибок, да и письмо сократится. Мы сможем работать с XSLT-шаблонами напрямую, минуя XML-представление данных.
Некоторое время назад я написал на Си PHP-расширение dom_varimport (также выложено на GitHub). Оно содержит одноименную функцию, на вход которой подается объект DOMDocument и PHP-массив любой вложенности. Функция заполняет переданный ей DOMDocument XML-представлением входного массива, и делает она это очень быстро — примерно в 20 раз быстрее, чем делал бы код, написанный на чистом PHP. Большой документ размером около 1 МБ с тысячами вложенных свойств и объектов формируется примерно за 1-2 миллисекунды.
Например, вызов: Читать дальше →
Тэги: dom, php, xml, xslt, высокая, производительность
Пагинатор (постраничная навигация) на XSLT 2013-04-01 16:25:14
... всплывает умирающая технология XSLT и задаёт непростые ... на статике, в XSLT? Ничего, что в ...
+ развернуть текст сохранённая копия
Время от времени всплывает умирающая технология XSLT и задаёт непростые вопросы. Как, например, взять максимум от 2 чисел в выражении или как организовать цикл. Соединением многих таких вопросов служит пагинатор — вывод навигации по нескольким страницам и, по возможности, удобный. На Javascript есть много примеров простых и удобных пагинаторов. Но если страницы с сервера выдаются в XML, то возникает крамольная мысль: почему бы всё оформление страниц, включая пагинатор, не сделать на статике, в XSLT? Ничего, что в эту статику можно включить JS и сделать всё проще. Кошерный подход лёгких путей не ищет.
Читать дальше →
Тэги: xslt, браузеры, веб-разработка, пагинатор, рекурсия
[Из песочницы] Zend Framework: XSL и самостоятельная сериализация Views 2013-01-22 16:15:02
Перевод статьи Zend Framework: XSL and self-serializing Views
Автор: Pascal Opitz
Я ...
+ развернуть текст сохранённая копия
Перевод статьи Zend Framework: XSL and self-serializing Views
Автор: Pascal Opitz
Я давно утверждал, что фраемворки MVC должны использовать стили XSL вместо встроенного PHP кода и прочего. Вот почему я постучал вместе немного доказательство концепции Zend Framework, где представления файлов в виде XSL шаблона, а представление сериализует себя в XML для рендеринга.
Читать дальше →
Тэги: framework, php, xml, xslt, zend
Easyweb: Новогоднее обновление 2012-12-31 00:20:34
В моем предыдущем посте, представившем многоуважаемой публике веб-движок Easyweb, было сказано: ...
+ развернуть текст сохранённая копия
В моем предыдущем посте, представившем многоуважаемой публике веб-движок Easyweb, было сказано:
Планируется, что первая версия, которую можно будет назвать стабильной и полностью юзабельной, появится до конца года.
Поскольку до конца года осталось менее суток, то позвольте рассказать о том, что еще удалось сделать в этом году.
Читать дальше →
Тэги: easyweb, geoip, solr, xml, xquery, xslt, веб-разработка
[Из песочницы] Easyweb — XSLT-движок для веба 2012-12-18 14:14:25
... основе лежит шаблонизатор XSLT, а сам движок ...
+ развернуть текст сохранённая копия
Easyweb — это верстальный движок общего назначения, написанный на PHP, и предназначенный для выдачи XML-ответа по HTTP-запросу. В его основе лежит шаблонизатор XSLT, а сам движок представляет собой набор решений основных задач в вебе: роутинг запросов, разграничение прав доступа, разделение способов получения данных и способов их представления, локализация, вспомогательные PHP классы и фасилити, и так далее. Проект является сборником архитектурных и концептуальных идей, накопившихся за шесть-семь лет разработки для веба.
Если говорить о классификации, то Easyweb, вероятно, больше всего похож на Content Management Framework. Он, в некотором смысле, немного выше уровнем, чем большинство программных фреймворков, поскольку основная часть продукта, созданного на Easyweb, выстроена на XML-технологиях. В то же время он гораздо ниже уровнем, чем привычные CMS — в нем нет встроенного пользовательского интерфейса, готовых шаблонов страниц или предустановленного набора SQL-запросов.
В двух словах, сайт или XML-сервис на Easyweb — это XML-конфиг, набор шаблонов страниц, база данных, а также скрипты для обработки POST-запросов. Все перечисленное создается вебмастером самостоятельно в его любимом текстовом редакторе, а также админке его любимой СУБД. Easyweb будет интересен тем, для кого выполняются все перечисленные условия:
- Если вас по каким-либо причинам не устраивают существующие CMS;
- Если вы задумываетесь о том, что нужно «написать все самому»;
- Если вас пугает сложность существующих программных фреймворков;
- Если вы любите XHTML, а также дружное семейство XML-технологий.
Читать дальше →
Тэги: easyweb, exslt, php, sql, xhtml, xslt, веб-разработка
Главная / Главные темы / Тэг «xslt»
|
Взлеты Топ 5
Падения Топ 5
|