В моей практике чаще всего в качестве шаблонизатора используется именно XSLT. Я не буду рассуждать о ...
В моей практике чаще всего в качестве шаблонизатора используется именно XSLT. Я не буду рассуждать о том, почему так происходит — о преимуществах данной технологии написано вполне достаточно. Но ещё больше написано о её недостатках. Считается, что XSLT является слишком многословным и тяжёлым для чтения, а также не самым производительным. В этой статье я постараюсь собрать несколько советов по улучшению качества XSLT-кода с точки зрения читабельности и выразительности. Некоторые из них также позволят XSLT работать несколько быстрее.
Именованные шаблоны
Многие «проблемы» XSLT связаны с тем, что мы слишком часто пытаемся писать на нём в процедурном стиле. Мы постоянно пытаемся сделать из него Smarty, но упираемся в один простой факт — XSLT является декларативным языком, как бы необычно это для нас не выглядело.
Например, мы пытаемся использовать именованные шаблоны, воспринимая их как процедуры, выводящие данные в определённом формате:
<xsl:template name="CreateItemLink">
<xsl:param name="item"/>
<a href="/item/?id={$item/id}">
<xsl:value-of select="$item/name"/>
</a><br/>
</xsl:template>
* This source code was highlighted with Source Code Highlighter.
Наверное, многие программисты именно так написали свой первый шаблон. И он неплохо решает свою задачу. Декларативный XSLT предлагает немного другой подход:
<xsl:template match="item">
<a href="/item/?id={id}">
<xsl:value-of select="name"/>
</a><br/>
</xsl:template>
* This source code was highlighted with Source Code Highlighter.
Разница совсем не велика. Дело вкуса и стиля программирования. Давайте посмотрим, как шаблон будет использоваться в дальнейшем.
Читать дальше →
... -файлов-классов для
.
Работа ...
+ развернуть текст сохранённая копия
В данной статье мы разберем следующие вопросы:
- Создание пользовательских таблиц для MODx Revolution.
- Генерация XML-схемы и php-файлов-классов для xPDO.
- Работа с пользовательскими таблицами.
Читать далее
Тэги: modx, revolution, xpdo
Python / [Из песочницы] Парсинг на Pуthon. Как собрать архив Голубятен
2011-06-14 19:24:25
Статья описывает разработку скрипта на языке Python. Скрипт выполняет парсинг HTML-кода
+ развернуть текст сохранённая копия
Статья описывает разработку скрипта на языке
Python. Скрипт выполняет
парсинг HTML-кода, составление списка материалов сайта, скачивания статей и предварительную очистку текста статьи от «посторонних» элементов. Используется библиотеки
urllib (получение HTML-страниц),
lxml (парсинг HTML-кода, удаление элементов и сохранение «очищенной» статьи),
re (работа с регулярными выражениями),
configobj (чтение файлов конфигурации).
Для написания скрипта достаточно базовых знаний языка Python, навыков программирования и отладки кода.
В статье даются пояснения по применению библиотек на примере составления списка публикаций С.М. Голубицкого, приведена ссылка на работающий скрипт.
Читать дальше →
Тэги: configobj, lxml, python, urllib, xpath
Пересечение множеств с помощью XPath
2011-05-23 19:32:44
На выходных я тужился решить задачки по XSLT. В результате, худо-бедно решение было найдено. Однако ...
+ развернуть текст сохранённая копия
На выходных я тужился решить задачки по XSLT. В результате, худо-бедно решение было найдено. Однако Алексей Рыбаков предложил решить третью задачку с выборками, путем пересечения node-set(). Первым мне попалось решение из XPath 2.0. //* except $list2 Смысл передельно прост. Выбираются … подробнее →
Тэги: kay, kaysian, method, michael, xpath, xslt
Решаем тестовые задания по XSLT в Яндекс
2011-05-20 21:16:21
В сферу моих профессиональных интересов попадает такая технология как XSLT, а вот на работе с XSLT ...
+ развернуть текст сохранённая копия
В сферу моих профессиональных интересов попадает такая технология как XSLT, а вот на работе с XSLT приходится работать очень мало и невольно начинаю забывать как ловить мышей. Поэтому, как только где-нибудь появляются интересные задачки по XSLT — сразу бросаюсь их … подробнее →
Тэги: xml, xpath, xsl, xslt