Спецификация RSS 2.0

Спецификация RSS 2.0


Что такое RSS.

RSS (Really Simple Syndication) — это формат обмена информацией для Web.

RSS — это диалект XML, поэтому любые RSS документы должны соответствовать стандарту http://www.w3.org/TR/REC-xml XML 1.0, опубликованному на официальном сайте http://www.w3.org.

На верхнем уровне RSS-документа находится элемент <rss>, который содержит обязательный атрибут version, который, в свою очередь, указывает на версию документа. Если документ соответствует данной спецификации, то атрибут version должен быть равен 2.0.

На уровень ниже от элемента <rss> находится единожды встречающийся элемент <channel>, который содержит информацию о канале (метаданные) и о его содержании.

Обязательные элементы <channel>.

Элемент Описание Пример
title Название канала. Если у вас есть web-сайт, который содержит некоторую информации о канале, то имя канала, упомянутое на сайте, должно соответствовать имени, описанному в этом элементе. Новости bikman.ru
link URL web-сайта, соответствующего данному каналу. http://bikman.ru/
description Фраза или предложение, описывающее канал. Последние новости сайта bikman.ru.

Необязательные элементы <channel>.

Элемент Описание Пример
language Язык канала. Список допустимых значений, которые приводит Netscape, находятся http://blogs.law.harvard.edu/tech/stories/storyReader$15. Также можно пользоваться определенными W3C обозначениями http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes . en-us
copyright Информация об авторских правах. Copyright 2004, Dmitry Bikman.
managingEditor E-mail адрес ответственного за содержание канала. fkspm@mailus.com(Василий Пупкин)
webMaster E-mail адрес ответственного за техническую составляющую работы канала. fkspm@mailus.com (Василий Пупкин)
pubDate Дата публикации контента канала, соответствующая RFC 822 http://asg.web.cmu.edu/rfc/rfc822.html. Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate Дата и время последнего изменения контента канала, соответствующая RFC822 http://asg.web.cmu.edu/rfc/rfc822.html. Sat, 07 Sep 2002 00:00:01 GMT
category Одна или несколько категории, к которым принадлежит канал. <category>Newspapers</category>
generator Строка, описывающая программу, которая использовалась для создания канала. MightyInHouse Content System v2.3
docs URL спецификации RSS 2.0. http://blogs.law.harvard.edu/tech/rss
cloud Позволяет процессорам зарегистрироваться, используя cloud, и быть проинформированными об изменениях канала, используя легкий протокол публикации-подписки на RSS-фиды. <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap" />
ttl Устанавливает время жизни (time to live). Это число в минутах, которое показывает, насколько долго канал может быть кэширован без обновления из источника. <ttl>60</ttl>
image Определяет GIF, JPEG или PNG изображение, которое может быть ассоциировано с каналом. ---
rating PICS рейтинг канала http://www.w3.org/PICS/. ---
textInput Определяет поле текстового ввода, которое может быть ассоциировано с каналом. ---
skipHours Подсказка процессорам, сообщающая, сколько часов они могут пропустить. ---
skipDays Подсказка процессорам, сообщающая, сколько дней они могут пропустить. ---

<image>, вложенный элемент <channel>.

<image> — это необязательный вложенный элемент <channel>, который содержит в себе три обязательных и три необязательных элемента.

<url> — это URL, указывающий на GIF, JPEG или PNG изображение, которое ассоциируется с каналом.

<title> описывает изображение. Используется в качестве атрибута alt тэга <img> при формировании HTML.

<link> — это URL, указывающий на web-сайт. При формировании HTML канала, изображение является ссылкой (необходимо принять во внимание, что <title> и <link> на практике должны быть равны элементам <title> и <link> в описании канала).

Опциональные элементы <width> и <height> определяют ширину и высоту изображения в пикселях. Необязательный элемент <description> содержит текст, который при формировании HTML должен содержаться в атрибуте title HTML тэга <a>, сформированного вокруг изображения.

Максимальное значение ширины изображения - 144. Значение по умолчанию - 88. Максимальное значение высоты изображения - 400. Значение по умолчанию - 31.

<cloud>, вложенный элемент <channel>.

<cloud> — это необязательный вложенный элемент <channel>, который определяет web-службу, поддерживающую интерфейс rssCloud. Данный интерфейс может быть реализован с помощью протоколов HTTP-POST, XML-RPC или SOAP 1.1.

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

<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc" />

В этом примере для запроса информации об изменениях канала нужно отправить XML-RPC сообщение на rpc.sys.com (порт 80), указав путь равным "/RPC2". Процедура, которую необходимо вызвать, называется myCloud.rssPleaseNotify.

Полное описание интерфейса rssCloud находиться http://blogs.law.harvard.edu/tech/soapMeetsRss#rsscloudInterface.

<ttl>, вложенный элемент <channel>.

<ttl> — это необязательный вложенный элемент <channel>, указывающий время жизни (time to live). Это число в минутах, которое указывает, как долго канал можно кэшировать без обновления из первоисточника.

<ttl>60</ttl>

<textInput>, вложенный элемент <channel>.

<textInput> — это необязательный вложенный элемент <channel>, который должен содержать 4 обязательных вложенных элемента.

<title> — Надпись на кнопке Submit текстового поля ввода.

<description> — Описание поля ввода текста.

<name> — Имя текстового поля ввода.

<link> — URL на CGI скрипт, который должен обрабатывать текст, введенный в поле ввода.

Элементы <item>.

<channel> может содержать любое количество элементов <item>. Эти элементы могут содержать в себе публикации целиком, или же анонсы со ссылками на полные варианты публикаций. Все вложенные элементы являются необязательными, однако хотя бы один элемент <title> или <description> должен присутствовать.

Элемент Описание Пример
title Заголовок. Рождение RSS — это чудо!
link URL на публикацию. http://bikman.ru/2004/01/01/a.html
description Синопсис публикации (краткий обзор) или полный вариант публикации. Текст, который должен описывать краткое содержание публикации или же текст публикации целиком. Это личное дело авторов канала.
author E-mail адрес автора публикации. author@channel.org (Василий Пупкин)
category Категория или категории публикации. Новости спорта
comments URL страницы отзывов и комментариев данной публикации. http://bikman.ru/comments/12345
enclosure Описание медиа объекта, который прикреплен к публикации. ---
guid Строка, однозначно определяющая публикацию. http://bikman.ru/2004/01/01/a.html
pubDate Дата и время публикации, соответствующие RFC 822 http://asg.web.cmu.edu/rfc/rfc822.html Sun, 19 May 2002 15:21:36 GMT
source RSS канал которому принадлежит публикация. Цитаты дня

<source>, вложенный элемент <item>.

<source> — это необязательный вложенный элемент <item>.

Его значение — это имя RSS канала, которому принадлежит публикация. Он имеет один обязательный атрибут url, в котором указывается URL XML версии источника.

<source url="http://bikman.ru/links2.xml">Источник публикации</source>

Роль данного элемента заключена в распространении информации об источнике публикации.

<enclosure>, вложенный элемент <item>.

<enclosure> — это необязательный вложенный элемент <item>.

Данный элемент имеет три обязательных атрибута. Url указывает URL вложения, length указывает длину в байтах, type указывает стандартный MIME тип вложения.

Атрибут url должен быть HTTP URL.

<enclosure url="http://bikman.ru/music.mp3" length="12216320" type="audio/mpeg" />

<category>, вложенный элемент <item>.

<category> — это необязательный вложенный элемент <item>.

Этот элемент имеет единственный необязательный атрибут domain, который указывает на систематику классификации категории.

Значение элемента - это разделенная прямым слешем ("/") строка, которая описывает иерархическое положение в данной таксономии. Процессоры могут использовать эту информацию для устанавливания связей при интерпретировании категорий.

<category>Почетная Смерть</category>

<category domain="http://bikman.ru/category">НЖМД</category>

В элемент <item> можно включать любое количество элементов <category>, в том числе для разных доменов, а так же иметь различные пересечения в пределах одного домена.

<pubDate>, вложенный элемент <item>.

<pubDate> — это необязательный вложенный элемент <item>.

Значение этого элемента — это дата публикации, соответствующая стандарту RFC 822 http://asg.web.cmu.edu/rfc/rfc822.html. Если дата указывает на будущее время, то процессоры могут не отображать элемент до тех пор, пока дата не станет текущей или прошедшей.

<pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>

<guid>, вложенный элемент <item>.

<guid> — это необязательный вложенный элемент <item>.

Значение элемента <guid> — это строка, однозначно определяющая публикацию. Например, данное значение может использоваться процессорами для определения новизны публикации.

<guid>http://bikman.ru/weblogItem3207</guid>

Не существует каких-либо определенных правил формирования значения <guid>. Обеспечение уникальности этой строки — задача канала.

Если элемент <guid> имеет атрибут isPermaLink, который равен true, процессор интерпретирует элемент <guid> как URL на публикацию, которая может быть открыта в web-браузере.