RSS.NET.UA

Подробно о формате RSS — новости, обзоры, документация

Рубрики

Поиск

Поделиться

Свежие записи

Облако

Друзья

Ссылки

RSS Новости e-Commerce

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

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

RSS — это диалект XML, поэтому любые RSS документы должны соответствовать стандарту XML 1.0, опубликованному на официальном сайте W3C.

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

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

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

Элемент Описание Пример
title Название канала. Если у Bас есть web-сайт, который

содержит некоторую информации о канале, то

имя канала, упомянутое на сайте, должно

соответствовать имени, описанному в этом элементе.

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

сайта bikman.ru.

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

Элемент Описание Пример
language Язык канала. Список допустимых значений,

которые приводит Netscape, находятся тут.

Также можно пользоваться

определенными W3C обозначениями.

en-us
copyright Информация об авторских правах. Copyright 2004,

Dmitry Bikman.

managinEditor E-mail адрес ответственного за содержание

канала.

editor@channel.org

(Василий Пупкин)

webMaster E-mail адрес ответственного за техническую

составляющую работы канала.

webmaster@channel.org

(Василий Пупкин)

pubDate Дата публикации контента канала,

соответствующая RFC 822.

Sat, 07 Sep 2002

00:00:01 GMT

lastBuildDate Дата и время последнего изменения

контента канала, соответствующая

RFC 822.

Sat, 07 Sep 2002

00:00:01 GMT

category Одна или несколько категории, к

которым принадлежит канал.

<category>Newspapers

</category>

generator Строка, описывающая программу,

которая использовалась для создания

канала.

Mighty In House Content

System v2.3

docs URL спецификации RSS 2.0. blogs.law.harvard.edu/tech/rss
cloud Позволяет обработчикам RSS

зарегистрироваться, используя 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 рейтинг канала.
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 находиться здесь.

<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

Sat, 07 Sep 2002 00:00:01 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. Если дата указывает на будущее время, то обработчики могут не отображать элемент до тех пор, пока дата не станет текущей или прошедшей.

<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-браузере.

<guid isPermaLink=»true»>http://bikman.ru/2002/09/01.php#a2</guid>

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

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

Данный параметр указывает URL страницы комментариев, ассоциированной с данной публикацией.

<comments>http://bikman.ru/comments/?blogId=705245&itemId=271</comments>

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

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

Данный элемент указывает e-mail адрес автора публикации. Для газет и журналов, использующих RSS, автором является тот, кто написал публикацию, описанную в элементе <item>. Для общих блогов, авторы могут быть различными. Для личных блогов, имеет смысл пропускать данный элемент.

<author>author@channel.org (Вася Пупкин)</author>

Комментарии

RSS накладывает ограничение на использование первых непробельных символов в элементах <link> и <url>. Данные, содержащиеся в этих элементах, должны соответствовать стандарту URI IANA (http://, https://, news://, mailto: и ftp://). Предшествующие RSS 2.0 спецификации допускали использование только http:// и ftp:// схем, однако на практике другие URI схемы использовались авторами контента и каналов, а так же поддерживались обратчиками. Стоит учитывать, что обработчики могут иметь ограничения на возможные URI схемы. Авторам не следует полагаться на полную поддержку URI схем со стороны программ обработки RSS.

В спецификации RSS 0.91 длина данных элементов была ограниченна 500 или 100 символами. В элементе <channel> не могло содержаться более 15 элементов <item>. Начиная с версии 0.92, все ограничения на длину и вложенность XML элементов были сняты. Обработчики и генераторы RSS могут устанавливать собственные ограничения на количество элементов <item> и ограничения строк по длине.

В RSS 2.0 ставка сделана на связывание канала с его идентификатором в некотором катологе, широко используя систему категорий и иерархий. Например, для того, чтобы связать канал с идентификатором Syndic8, достаточно включить элемент <category> в качестве вложенного элемента <channel>, с атрибутом domain равным «Syndic8», и указать значение идентификатора для канала Syndic8 в базе данных.

<category domain=»Syndic8″>1765</category>

Часто задаваемый вопрос, как связаны значения элементов <guid> и <link>. Не одно и тоже ли это? Действительно, в некоторых системах управления контентом это так. В некоторых других системах <link> — это ссылка на первоисточник. Т.к. в некоторых системах <item> несет в себе краткое описание больших публикаций, <link> указывает на саму публикацию, а <guid> — это ссылка на краткое описание в блоге. В любом случае, рекомендуется использовать <guid>, являющийся уникальной ссылкой на первоисточник, если это возможно. Это позволяет обработчикам отслеживать уникальность новых публикаций и не повторяться.

Если у Bас имеются вопросы по формату RSS 2.0, задавайте их в списке рассылки RSS2-Support.

Расширение RSS

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

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

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

Заключение

Несомненно, RSS — это отличный формат, он крайне популярен и широко распространен. Наличие устоявшейся концепции — это то, в чем RSS нуждался длительное время. Смысл данной работы — помочь формату стать неизменным, чтобы стимулировать рост среды, формирующейся вокруг RSS, а так же расчистить путь для появления инноваций в форматах обмена информацией. Поэтому спецификация заморожена на версии 2.0.1. Возможные версии 2.0.2, 2.0.3 и т.п. ожидаются только для пояснения, но никак не для добавления новых возможностей. Последующая работа должна происходить на уровне дополнительных модулей, которые используют пространства имен, и на уровне совершенно новых форматов обмена информации.

Лицензии и авторство

Спецификация RSS 2.0 предложена Berkman Center for Internet & Society at Harvard Law School под лицензией Attribution/Share Alike Creative Commons license. Автором данного документа является Dave Winer, основатель UserLand Software и просто парень из Berkman Center.

Примечание:

Оригинал текста: http://blogs. law. harvard. edu/tech/rss. Примеры версий RSS документов: 0.91, 0.92, 2.0.

© Дмитрий Бикман 2002—2004

04 Сен 2009, автор: admin
Рубрика: Документация

Комментарии закрыты.