Шрифт:
RSS — это разновидность XML, формат, специально придуманный для того, чтобы легко и быстро делиться контентом. Изначально придуманный Netscape для своего портала Netcenter, он быстро завоевал популярность и стал широко использоваться.
Практически любой материал, который можно разделить на отдельные части, можно публиковать с помощью RSS: например, объявления о последних публикациях в wiki, информацию об обновлениях в CVS, историю изменений, внесенных в книгу. После того как информация преобразована в формат RSS, программа, понимающая этот формат, может вытягивать сведения о внесенных изменениях и в зависимости от результата предпринимать какие-либо действия. Более подробно о формате RSS можно прочитать на сайте http://www.kanban.ru/.
Сегодня существует семь подвидов стандарта — от RSS 0.90 до RSS 2.0. Прочитав значительное количество статей, посвященных этим разновидностям, могу сказать, что многие разработчики в большей степени склоняются к использованию стандарта RSS 2.0 как наиболее развитого. Этот стандарт позволяет прикреплять к сообщениям дополнительную информацию, в том числе и мультимедийную. Наиболее полный сравнительный анализ версий можно прочитать в статье "Что такое RSS" (автор Mark Pilgrim,, а стандарт RSS 2.0 опубликован на сайте Technology at Harvard Law ( http://blogs.law.harvard.edu/tech/rss).
3.3.2. Что такое RSS-рассылки
RSS-рассылка — это файл, созданный в формате RSS, еще он называется фид (feed). Именно этот файл "вбирают" в себя программы-агрегаторы, когда вы, подписавшись на рассылку, подключаетесь к новостному каналу. Тем, кто знаком с XML, понять формат рассылки будет не сложно. Фид "строится" из предопределенных строительных элементов — тегов, располагаемых опять же в предопределенной последовательности.
Когда RSS-файл создается компанией, в него обычно заносится следующая информация:
название компании, создавшей RSS-файл;
дата и время генерации файла;
темы новостей;
адрес баннера сайта;
заголовки (анонсы) новостей;
дата и время новостей;
краткое изложение новостей;
HTML-адреса до полных текстов новостей (обычно адреса ведут на страницы сайта, создавшего RSS-файл);
HTML-адреса до рисунков, используемых в анонсах новостей.
Разберем вкратце, какие теги используются для создания фидов, а в качестве примера возьмем любую из рассылок Яндекс. Новостей.
Листинг 3.1. Начало RSS-рассылки
<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns: yandex="http://news.yandex.ru" version="2.0">
Первые две строки (листинг 3.1) — служебные. В одной описывается стандарт XML, во второй — стандарт RSS, используемые для создания фида. Кроме того, в описании версии RSS указаны источники пространства имен, применяемые в данном стандарте. Больше в фиде никакой служебной информации нет, все остальное относится непосредственно к рассылке.
В стандарте 2.0 (именно этот формат используется на Яндексе) вся рассылка обрамляется тегом <channel>, а сами новости вложены внутрь этого тега. (В версии 1.0 новости не входят в состав тега <channel>.)
Листинг 3.2. Основная часть фида по версии 2.0:_|
<channel>
<title>Яндекс. Новости: MHTepHeT</title>
<link>http://news.yandex.ru/Russia/internet.html</link>
<description>Первая в России служба автоматической обработки и систематизации новостей. Сообщения ведущих российских и мировых СМИ. Обновление в режиме реального времени 24 часа в сутки.</description>
В описании фида (рассылки) — три обязательных параметра (листинг 3.2):
title — название канала либо название ресурса. По нему будут ссылаться на ресурс;
link — ссылка на источник, соответствующий данному каналу;
description — краткое описание канала.
Кроме обязательных, в состав описания могут входить и необязательные элементы. К ним относятся:
Language — язык, на котором вы пишете свои новости;
copyright — авторские права, ваши, но — на английском;
managingEditor — электронный адрес издателя;
webMaster — электронный адрес веб-мастера;
pubDate — дата публикации. Требование к формату описано в RFC 822;
generator — может использоваться, если канал формируется с помощью какой-либо программ;
image — описывает картинку, которая может показываться агрегаторами для данного канала. Формат изображения — GIF, JPEG или PNG. В свою очередь состоит также из нескольких тегов, описывающих ссылку на картинку, ее описание и некоторые иные параметры;