Как стать автором
Обновить

Практический XSLT. Использование в качестве шаблонизатора

XSLT *
В сети доступно масса документации по языку XSL. Данный раздел не претендует на роль документации по языку, а лишь кратко, по шагам объясняет, как создать свой XSLT-шаблон.

Описанная ниже схема успешно мною используется уже более 3 лет. По началу я к XSLT относился с большой опаской (особенно, когда разбирал чужие исходники), однако однажды поняв, что к чему, уже не представляю, как без него можно работать.
Читать дальше →
Всего голосов 67: ↑61 и ↓6 +55
Просмотры 45K
Комментарии 100

Практический XSLT. Использование в качестве шаблонизатора. Часть 2

XSLT *
В предыдущей статье мы разобрали основные аспекты построения шаблона с помощью XSLT. Однако, для полноценного шаблона нужно не только выводить меню сайта, но также и текстовый материал документа.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Просмотры 16K
Комментарии 37

xslt-преобразование на стороне клиента.

Чулан
Я приверженец xml. Мне очень нравится подход к проектированию вэб-приложений при котором бизнесс-логика отделена от представления посредствам xml/xslt. Я не сторонник изобретения велосипедов (шаблонизаторов типа Smarty), и вообще, прикручивания рогов и педалей к лопате.

На днях задался целью выяснить каких успехов достигли разработчики браузеров на ниве client side xslt-преобразования. Потому как выполнять преобразование на сервере не интересно — жрутся рессурсы, расходуется канал (что особо важно для пользователей слабеньких каналов и мощных компьютеров). Да и вообще, преобразование на стороне клиента на мой взгляд просто правильнее. Задача отображения документа — есть задача браузера. Вот пусть он этим и занимается.
Читать дальше →
Всего голосов 4: ↑2 и ↓2 0
Просмотры 466
Комментарии 3

Vim как IDE для веб-разработки, и не только.

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

Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

Кого-то VIM оттолкнет, показавшись поначалу слишком сложным или неудобным. Однако не стоит недооценивать его гибкость и возможность настройки себя, ведь из VIM можно буквально вылепить идеальный редактор/IDE, таким, каким вы представляете его себе.

Надеюсь, что эта статья поможет читателю убедиться в этом. Безусловно, она ориентирована, в первую очередь, на опытных пользователей Vim'а, но и новички смогут почерпнуть из нее немало полезного.

Я постарался писать как можно компактней, но без потери содержательной части, но статья все-равно вышла довольно объемной. Материал логически разбит на несколько разделов и совсем не обязательно читать его по порядку. Тем не менее, прочитать сведения по установке плагинов и настройке vimrc я рекомендую настоятельно.


Читать дальше →
Всего голосов 78: ↑75 и ↓3 +72
Просмотры 96K
Комментарии 62

Делаем SharePoint Web Part используя xml/xsl

SharePoint *
В этой статье я расскажу, как сделать SharePoint WebPart, используя блокнот используя только xml и xsl.

Про разработку web part-ов уже писалось ранее, там же писалось, зачем, собственно, они нужны: habrahabr.ru/blogs/sharepoint/57992

В данной статье мы создадим WebPart, который просто покажет какое-то сообщение. Сам по себе он не информативен и сомнителен, как пример, но задаче показать общий механизм вполне соответствует.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 6.5K
Комментарии 7

Explay CMS 3.1

CMS *
Explay CMSВсем доброго времени суток! Уже довольно давно, как мое увлечение создания движка для сайта стало занимать львиную долю свободного времени. А поскольку летом я был полностью предоставлен самому себе, то за компьютер садился как за работу :) При этом меня даже не останавливает отсутствие хоть сколько ощутимого дохода, это как зависимость. Надеясь, что кому-то я все-таки помогу, хочу поделиться результатом своей работы.

Explay CMS — это система управления социальными сетями или блого-социальными сообществами. Она по-прежнему совершенно бесплатна и распространяется под лицензией GNU GPL 3 версии. Напомню основные характеристики:
  • Коллективные блоги
  • Фотоальбомы
  • Дружеские связи и новости друзей
  • Комментарии
  • Рейтинги
  • Внутренняя почта
  • Система обновлений
Подробнее о характеристиках можно узнать на официальном сайте

Версия 3.1 является эволюционным продолжением версии 3.0. По ходу разработки были исправлены все известные баги и доработаны основные функции. В новой версии CMS приобрела полноценную панель администратора, которая дает возможность реализовать основную функцию, заявленную мной при релизе 3.0, — управление полями публикаций, пользователей и вообще всего-всего.
Читать дальше →
Всего голосов 62: ↑45 и ↓17 +28
Просмотры 3.9K
Комментарии 36

PhpStorm 4: результат с первой попытки!

Блог компании JetBrains Разработка веб-сайтов *PHP *
Сделайте еще шаг к идеальной продуктивности ;)

image

Представляем вниманию хабрасообщества PhpStorm 4.0:

  • Полная поддержка PHP 5.4
  • Встроенный Code coverage для PHPUnit
  • Новые PHP code inspections
  • Сообщения PHP Code Sniffer прямо в редакторе
  • Встроенный Drupal-стиль
  • Лучшая в индустрии поддержка JavaScript (включая ECMAScript Harmony)

Читать дальше →
Всего голосов 102: ↑90 и ↓12 +78
Просмотры 31K
Комментарии 225

Yate: Яндекс.Почта перешла на новый шаблонизатор

Блог компании Яндекс Разработка веб-сайтов *
imageНекоторое время назад мы писали, что в Яндекс.Почте появился новый интерфейс, в котором используется шаблонизация данных в браузере. Немногие крупные сервисы отваживались на это, но мы и сейчас считаем такое решение наиболее удачным. Оно не только ускорило работу интерфейса, но и позволяет экономить трафик пользователя и эффективнее расходовать процессорное время серверов.

Тогда в качестве шаблонизатора мы использовали XSL, а данные передавали в формате XML. Переведя проект на новый интерфейс, мы начали искать другие способы ускорения работы интерфейса Яндекс.Почты.

Недавно мы перевели всю Почту на JS-шаблонизатор и JSON-данные.
И вот как это проходило
Всего голосов 173: ↑159 и ↓14 +145
Просмотры 63K
Комментарии 185

Zen Reports и %XML.Writer для генерации отчётов Excel в Caché

Блог компании InterSystems XML *
Как известно MS Excel последних версий поддерживает описание структуры документа в формате xml. Это обстоятельство позволяет создавать отчеты в Excel с помощью генерации xml-файлов. В СУБД Caché существует несколько способов создания xml. В этой статье будут рассмотрены два, возможно наиболее удобных, способа эффективной программной генерации отчетов в MS Excel: с помощью Zen Reports и с использованием класса %XML.Writer.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 5.7K
Комментарии 0

Разработка документации при помощи DocBook

XML *
Из песочницы


Так уж сложилось, что в наших проектах ведение технической документации полностью лежит на плечах разработчиков, по принципу: внес изменения в код проекта — актуализировал документацию. Сама документация представляла собой набор Word’овских документов, которая хранилась вместе с исходным кодом под VCS. Данный подход к организации разработки существовал долгое время, но пару лет назад мы решили озаботиться возможностью ведения документации проекта отличными от MS Office средствами.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 39K
Комментарии 33

PHPStamp — честная генерация DOCX документов из шаблона

Разработка веб-сайтов *PHP *XSLT *
Из песочницы
Это еще одна попытка реализовать стабильный, полноценный шаблонизатор офисных документов, основанных на XML, пользуясь стандартными для PHP средствами DOMDocument и XSL.

Задача состояла именно в генерации шаблона для многократного использования, который не придется править вручную или прибегать к сторонним программам для его доработки.
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Просмотры 25K
Комментарии 15

Документирование программ

Разработка веб-сайтов *HTML *
Из песочницы
На определенном этапе развития программной системы неизбежно возникает задача разработки пользовательской документации. И тут возникает технический вопрос выбора форматов и инструментов разработки документации.
Читать дальше →
Всего голосов 21: ↑15 и ↓6 +9
Просмотры 33K
Комментарии 19

Java XML API: выбираем правильно. StAX: работаем с удовольствием

Программирование *Java *XML *API *
Tutorial
Здравствуйте!
Несмотря на снижение популярности формата XML с начала 2000х, он прочно занял свои ниши. Я сталкивался с обработкой XML ~ в 60% проектов и посвятил ей занятие своей стажировки Masterjava. Наиболее частые его применения: XHTML, SOAP, различные конфигурации (например Tomcat, SoapUI, IntelliJ IDEA, Spring XML конфигурация), импорт-экспорт данных.

В Java есть несколько API для работы с XML и для разработчика важно понимать, какое из API требуется выбрать в каждой конкретной ситуации. В этой статье я кратко перечислю все Java XML API, их назначение и примеры использования, и подробнее остановлюсь на работе с достаточно редкой, но в ряде случаев единственно верной технологией StAX. Предполагается что с элементами XML вы уже знакомы.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 51K
Комментарии 8

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics. Часть 5

Информационная безопасность *

Обход защиты (Defense Evasion)


Ссылки на все части:
Часть 1. Получение первоначального доступа (Initial Access)
Часть 2. Выполнение (Execution)
Часть 3. Закрепление (Persistence)
Часть 4. Повышение привилегий (Privilege Escalation)
Часть 5. Обход защиты (Defense Evasion)
Часть 6. Получение учетных данных (Credential Access)
Часть 7. Обнаружение (Discovery)
Часть 8. Боковое перемещение (Lateral Movement)
Часть 9. Сбор данных (Collection)
Часть 10 Эксфильтрация или утечка данных (Exfiltration)
Часть 11. Командование и управление (Command and Control)

В разделе «Обход защиты» описываются техники, с помощью которых злоумышленник может скрыть вредоносную активность и предотвратить своё обнаружение средствами защиты. Различные вариации техник из других разделов цепочки атаки, которые помогают преодолеть специфические средства защиты и превентивные меры, предпринятые защищающейся стороной, включены в техники обхода защиты. В свою очередь, техники обхода защиты применяются во всех фазах атаки.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 5.8K
Комментарии 1

Межпланетная файловая система — Простой блог в IPFS при помощи XSLT

XML *XSLT *IPFS *

Существует проблема: У сайта в IPFS нет возможности использовать серверные скрипты для формирования страницы. Если использовать генерацию страниц перед загрузкой то добавив новый пункт меню в каждую страницу мы изменим хеш этих страниц. Так что всю сборку страниц нужно производить силами браузера.


Обычно формируют содержание страниц при помощи JavaScript. Это знакомая технология но у неё есть свои недостатки.


Я буду использовать XSLT. Это древняя технология шаблонов которая давно встроена в браузеры но мало кто ей пользуется. Возможно потому что шаблоны заставляют писать много текста и из за путаницы с пространствами имён и множества ошибок без внятного объяснения. Также не смотря на то что есть уже XSLT 3.0 в браузерах по прежнему доступен только XSLT 1.0.


XSLT работает так:


  1. Пользователь открывает в браузере XML документ.
  2. В заголовке XML документ содержит ссылку на XSLT шаблон.
    <?xml-stylesheet href="xslt/запись.xslt" type="text/xsl" ?>
  3. Шаблон в браузере на основе XML документа и других данных формирует xHTML документ.
  4. Браузер отображает полученный xHTML документ.

Привязав множество страниц к одному шаблону можно менять отображаемый xHTML документ не меняя XML документы. Таким образом при смене дизайна не будет меняться хеш XML документов а значит старые их копии будут источниками для новых в IPFS.


Для поисковиков в данном способе тоже есть плюсы. Они ограничиваются обработкой XML документа получая только уникальный контент страницы без элементов навигации и остальных блоков которые повторяются на каждой странице.


image

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.8K
Комментарии 8