XML+XSLT при разработке сайта RSSNews часть 1
среда, 26 декабря 2007 г. | Ярлыки: RSSNews, XML, XSLT | |Когда в воздухе витала идея создания сайта rssnews.org.ua первым делом надо было выбрать базовые методы разработки данного сайта. В тот момент как раз начал делать первые применения технологии XML, XSLT на работе, и мне показалось что данная связка будет наиболее удачной для данного проекта. Ведь если подумать RSS ленты это в принципе XML который только следует привести к нужному виду в XHTML.
Организовывать хранилище лент было решено в XML файле, так как планировался небольшой обьем и простая организация данных. Таким образом получил структуру XML (База лент) -> XSLT -> XHTML
Тоесть в рузультате обработки базы одним XSLT файлом получим готовый сайт. Заманчиво ? Мне именно так и показалось.
Создал простенький PHP файлик в котором было только несколько вещей, а именно:
- Выполнение XSL трансформации
- Открытие удаленной ленты. Обработка случаев, когда удаленная RSS лента не доступна + кеширование + проверка валидности RSS ленты.
- Передача параметров XSL трансформации (ведь единственный XSL файл должен знать показывать папку или предпросмотр ленты)
А что же происходит если мы нажимаем на просмотр ленты ? Собственно следующее ... XSLT вызывает php функцию которая решает скачивать ли ленту или показать из кеша. И возвращает DOM обьект на базе RSS ленты которую мы собираемся смотреть. Проходимся по узлам RSS ленты и выводим их, тоесть за один проход. Ставим ссылочки на ленты источника, выводим текст, смотрим есть ли еще какая-то дополнительная информация для выводи и при необходимости тоже ее выводим. Ну и не забываем подсветить в менюшке в каком разделе мы находимся. В принципе вот и все ;) Если бы мне рассказали что если все делается именно так, я бы не поверил, но это правда. Разработка становится простой и приятной, данные есть нужно только вывести никаких тебе запросов к БД, они заменены простым выражением XPATH. Честно сказать верстка самого дизайна заняла больше времени чем написание основы на которой все это должно вертеться.
Если вы спросите о скорости работы сайта, то честно признаюсь теста показали около 30-35 запросов в секунду. Кто-то скажет мало, но когда узнают что на сайте нет БД, то удивляются и говорят что неплохо.
Ну и напоследок, хотите посмотреть живые исходники сайта ? Точнее сказать тот файл который все выводит - можете посмотреть, а если вам и показалось что много всего написано, то учтите что процентов 30 написаного там - просто HTML ;)