Назад на страницу статей

Источник: http://www.kanban.ru/

     Для начала, определимся с тем, что такое RSS.

Кратко, RSS - это формат синдикации web-контента. Это обычный формат представления данных, основанный на языке XML. Первоначально этот формат был разработан специально для экспорта заголовков новостей. Однако область его применения может выходить далеко за рамки этой задачи. Вы с легкостью можете экспортировать любую информацию, любые материалы. Формат примечателен тем, что дает единство представления данных. Любая информация, оформленная в RSS должна соответствовать определенной структуре, о чем будет написано ниже. Благодаря такой формализации, конечный пользователь получает информацию в стандартизированном виде, что упрощает чтение и работу с ней. Именно удобством работы и объясняется растущий интерес к этому формату и его всё большая популяризация. На данный момент синдицируют информацию уже сотни тысяч сайтов по всему миру, и если Вы, как пользователь, хотите быть в курсе новостей того или иного сайта, Вам нет нужды постоянно его посещать. Раньше Вы могли подписаться на новости сайта, либо на информационную рассылку, однако, RSS имеет ряд неоспоримых преимуществ перед технологией электронной почты, одни из важнейших - это отсутствие спама и гарантированность доставки информации.
   Более подробное введение в формат RSS и основы по его использованию, удачно изложены здесь:
http://www.webmascon.com/topics/technologies/9a.asp

Ниже приводится краткая спецификация формата RSS 2.0. Настоящая спецификация основана на документе, расположенном по адресу:
http://blogs.law.harvard.edu/tech/rss, где Вы можете почерпнуть более обширную информацию на английском языке.

Структура RSS-документа.

RSS - это диалект языка XML. Соответственно, все RSS-файлы должны соответствовать спецификации XML 1.0. Это значит, что правильный rss-файл должен начинаться строкой (приведен пример для универсальной кодировки UTF-8, старайтесь использовать только её):

<?xml version="1.0" encoding="UTF-8" ?>

Корневым элементом документа является элемент <rss> с одним параметром version. Для файла в формате RSS 2.0 он должен выглядеть так:

<rss version="2.0">

Внутри элемента <rss> содержится вся информация.
Упрощенно, структура RSS-файла выглядит так:

  <?xml version="1.0" encoding="UTF-8" ?> 
  <rss version="2.0">
   <channel>
     <title></title> 
     <link></link> 
     <description></description> 
     <image>
         <url></url> 
         <link></link> 
         <title></title> 
     </image>
     <lastBuildDate></lastBuildDate> 

     <item>
         <title></title> 
         <link></link> 
         <description></description> 
     </item>
     . . .
   </channel>
  </rss>

Далее рассмотрим все допустимые элементы в подробностях.

Channel

ЭлементОписаниеПример
titleЗаголовок канала. Основной элемент, по которому люди смогут идентифицировать Ваш канал. Используйте заголовки умеренной длинны, и максимально информативные. Вначале заголовка можно упомянуть ваш сайт, если он популярен. Отличной техникой является неизменный заголовок, ни в коем случая не указывайте в заголовке дат и тому подобного, для этого есть другие элементы. Избегайте СПАМА в заголовках, поисковиков по RSS всё равно пока нет, а пользователю разобрать что-то будет нелегко.Kanban.Ru - каталог RSS-каналов.
linkСсылка на Ваш сайт. Ссылка должна вести на главную страницу вашего сайта. Или, как максимум, на соответствующий каналу раздел.http://www.kanban.ru/
descriptionОписание канала. Описание не должно повторять заголовок, а должно его расшифровывать и дополнять.Последние поступления в каталог русских RSS-каналов.
languageЯзык, на котором написан канал. Несмотря на то, что этот элемент необязателен, УКАЗЫВАЙТЕ ЕГО ВСЕГДА. Это поможет миновать целый список проблем. Есть 2 списка значений для этого элемента этот и этот. Оба допустимы.ru, ru-ru
copyrightКопирайтCopyright 2004, ОАО "Рога и копыта"
managingEditorЭлектронная почта редактора канала (лица, отвечающего за информацию, представленную в канале).vasja@pupkin.com (Vasja Pupkin)
webMasterЭлектронная почта веб-мастера (лица, отвечающего за техническую реализацию канала).vasja@pupkin.com (Vasja Pupkin)
pubDateДата публикации информации в канале. Каждый раз, когда информация публикуется, необходимо обновлять этот элемент. Это позволит многим агрегаторам ранжировать Ваш канал по актуальности представленной информации. Формат нужно использовать только этот. Единственное исключение, в том, что год можно указать 2-мя последними числами. Но никогда так не делайте.Fri, 17 Jun 2004 00:00:01 GMT
lastBuildDateВремя последнего изменения канала.Отличие от предыдущего в том, что эта дата отражает последнее изменения контента, в то время, как pubDate - дата публикации, а не последнего редактирования.Например, Ваш канал может быть опубликован год назад с информацией о курсах валют, которые обновляются каждый день.Fri, 17 Jun 2004 00:00:01 GMT
categoryОпределяет категорию, к которой принадлежит канал. Можно указать несколько. Подробнее...<category>Newspapers</category>
generatorЗаполняется программой, сгенерировавшей канал.HelloWorld! 1.0
docsСсылка на страницу с документацией по формату, который используется в этом RSS файле. Если инопланетяне получат RSS файл, они всегда смогут его прочитать, ознакомившись со спецификацией по указанному здесь адресу.http://blogs.law.harvard.edu/tech/rss
cloudУказывает веб-сервис, поддерживающий интерфейс rssCloud, отвечающий за уведомления об изменениях в канале. Более подробная информация здесь.<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
ttlЭтот элемент поддерживается для совместимости, ранее он был предназначен для указания времени в минутах, в течение которого этот канал допустимо кэшировать.60
imageПуть к изображению в формате GIF, JPEG или PNG, отображаемому в заголовке канала.
Дочерние узлы:
<url> - URL изображения.
<title> - описание изображения, используется в атрибуте ALT HTML-тега IMG, если агрегатор конвертирует канал в HTML.
<link> - cсылка на Ваш сайт. Ссылка должна вести на главную страницу вашего сайта. Или, как максимум, на соответствующий каналу раздел.
Элементы title и link лучше всего делать копией этих же элементов, указанных в channel.
<description> - описание картинки. Используется в элементе TITLE HTML-тега IMG.
<width> - ширина картинки в пикселях. Максимально допустимое значение - 400, по умолчанию - 88.
<height> - высота картинки в пикселях. Максимально допустимое значение - 144, по умолчанию - 31.
 
ratingРейтинг PICS канала. 
textInputОпределяет строку ввода для пользователя. Дочерние узлы:
<title> - надпись на кнопке.
<description> - разъяснение того, что требуется ввести в поле.
<name> - атрибут name для HTML-тега INPUT.
<link> - адрес скрипта, которому будут переданы данные.
Назначение этого элемента туманно. Вы можете использовать его, например, для ввода пользователем поискового запроса, либо для организации обратной связи, однако, большинство агрегаторов этот элемент игнорируют.
 
skipHoursМожет содержать до 24-х элементов <hour>. Они указывают агрегатору, в какие часы можно не обновлять канал, а брать его из кэша. Значения элементов должны быть в диапазоне 0..23.<hour>0</hour>
<hour>1</hour>
<hour>2</hour>
skipDaysМожет содержать до 7 элементов <day>. Они указывают, в какие дни недели агрегатор может не обновлять канал. Диапазон значений: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.<day>Saturday</day>
<day>Sunday</day>
ItemКанал может содержать несколько элементов <item>. <item> может содержать статью, целиком, в таком случае дочерний элемент link не заполняется. Item может содержать только заголовок статьи, а ссылка будет вести на полный текст. Любая комбинация допустима. Все дочерние элементы item необязательны, однако хотя бы 1 элемент (либо title, либо description) должен присутствовать. 

 

Item

ЭлементОписаниеПример
titleЗаголовок статьи.С добрым утром, страна!
linkСсылка на полный текст статьи.http://www.ваш_сайт.ru/
articles/2004/06/17/01.htm
descriptionПолный текст статьи, либо аннотация. 
authorАдрес электронной почты автора статьи. 
categoryТо же самое, что и category в channel. 
commentsСсылка на страницу с комментариями к статье.http://www.ваш_сайт.ru/
articles/2004/06/17/comments01.htm
enclosureВложение. К статье можно присоединить любой файл, ссылка на него будет отображена агрегатором.<enclosure url="http://www.ваш_сайт.ru/
articles/2004/06/17/01.mp3" length="12216320" type="audio/mpeg" />
guidУникальная строка, однозначно идентифицирующая статью в рамках данного канала. Особых требований нет, однако, стало традицией использовать полный интернет адрес, по которому доступен оргинал статьи. Установка атрибута isPermaLink в true, будет означать, что именно такой идентификатор и используется.<guid isPermaLink="true">http://www.ваш_сайт.ru/
articles/2004/06/17/01.htm>
pubDateДата публикации статьи. Некоторые агрегаторы не будут отображать статью, если указанная дата еще не настала. Но далеко не все.Sun, 19 May 2002 15:21:36 GMT
sourceДля каждого <item> cодержит адрес канала и копию его атрибута title.<source url="http://www.kanban.ru/top30.xml"> KANBAN.Ru. 30 новостей</source>
Hosted by uCoz