Сайт как бизнес

Поисковое продвижение сайтов (SEO), создание сайтов в Минске (Беларусь).


Канал «СТАРТАП ТЕХНОЛОГИИ»: об ИТ-бизнесе, стартапах, инвестициях

Подпишись на рассылку блога об интернет-бизнесе:

Используем XML и XSLT в качестве модели данных и шаблонов отображения

пока нет комментариев

Сегодня хотел бы еще раз заострить внимание на XML и XSLT технологиях, используемых в разработках Web проектов.

Почему я сделал упор именно на эти технологии:

  1. Поддержка мега-вендорами, такими как Microsoft, Oracle, и т.д.
  2. Неограниченное количество степеней свободы данных (XML), т.е. данные могут быть представленны не в строгом «табличном» формате или в виде вложенности массивов
  3. Легкая интеграция с другими решениями
  4. Всегда правильный и валидный HTML на выходе
  5. Удобные конструкции
  6. Высокая производительность обработки шаблонов в отличие от того ;е SMARTY

Если почти все пункты заявления можно оспорить, но на пункте 3 я хотел бы заострить особое внимание, т.к. именно этот пункт явился для меня той «фишкой», которая побудила меня полностью забыть о SMARTY.

Зачала которая стояла передо мной в проецссе разработки http://Elab.by — отображение записей блога на страницах сайта. Задача простая и нетривиальная на первый взгляд, но масла в костер подливал тот факт что на момент создания проекта http://blog.elab.by и http://elab.by были разные сервера, поэтому вариант написания функции которая бы доставала бы данные с таблиц WordPress я даже не рассматривал как «конструктивное решение».

Тут меня осинило — в WordPress есть RSS!!! Это же тот же XML только описанный стандартом!

Более того весь сайт Elab.by построен на структуре MySQL->XML+XSLT=HTML

Лаконичное решение напрашивалось само собой: Нам надо просто взять RSS блога и вставить этот кусок в XML сайта, а потом отобразить его с помощью XSLT шаблона. После 15 минут коддинга решение успешно красовалось на сайте!

Основные моменты, на которые стоит обратить внимание при подобном решении:

  • Конвертации кодировок XML. Я работаю в кодировке Win1251, данные оттаются в UTF-8 — решается с помощью iconv
  • Кеширование данных: не логично каждый раз при заходе нового пользователя дергать данные о блогах с стороннего ресурса. Более того удаленный ресурс может быть недоступен по каким то обстоятельствам. Нас спасет простой алгоритм кеширования
  • Как ни крути fopen работает довольно криво с http ресурсами. Более надежный способ — CURL. Настоятельно рекомендую использовать именно его для граббинга данных с сайта.

Вобщем вот и все. Всех секретов я не выдаю в виду того что это комерческая тайна 🙂 Но основные алгоритмы расписаны — вам остается только воплатить их в жизнь!



Автор: Валерий Хвалев.

8 ноября, 2008 в 2:47 пп

Подпишись на обновления блога по e-mail или RSS!