Перед началом работы
Это руководство написано для желающих лучше изучить широко известный формат RSS (Really Simple Syndication) и область его применения. В частности, в нем рассказывается об использовании малоизвестных возможностей RSS для реализации удобного хранилища данных.
При этом от читателей не требуется предварительного знакомства с RSS - необходимо лишь понимание принципов, лежащих в основе XML. Примеры кода к руководству написаны на PHP, но все базовые принципы также распространяются на любой язык программирования.
Общеизвестно, что RSS – это формат, используемый для распространения информации, в частности, для представления новостных каналов, принадлежащих тому или иному сайту. Вместе с тем в последние годы он также начал применяться в качестве формата для хранения данных в разнообразных приложениях, например, для манипулирования контактной информацией. Преимуществом хранения данных в формате RSS является то, что информация становится доступной для всевозможных агрегаторов RSS-лент.
Это наводит на мысль, что RSS можно использоваться для хранения информации, которую традиционно принято помещать в реляционные базы данных.
Данное руководство имеет следующую структуру: вначале мы расскажем о формате RSS и приведем примеры RSS-лент. Далее мы продемонстрируем, как можно переориентировать данный формат на другую задачу – хранение произвольных элементов данных и связей между ними. Мы определим формат базы данных, который будет состоять из трех таблиц, а затем перейдем к запросам, которые будут имитировать классические операторы SELECT в SQL, а также к поиску по ассоциациям (связям). Наконец, будут продемонстрированы различные варианты обработки результатов запроса, от сохранения их в виде XML до представления в более удобную для пользователя форму при помощи языка стилевых преобразований XML (XML StyleSheet Transformation Language - XSLT).
Для запуска примеров к данному руководству вам понадобится:
- PHP. Подойдет любая версия PHP. Мы будем работать с XML не традиционным образом (т.е. используя объектную модель документа - DOM), а как с текстовым файлом, применяя встроенные средства PHP.
- Любой XML-редактор для работы с файлами XML и XSLT. Автор данного руководства предпочитает vim при работе в UNIX® и Notepad – в Windows®.