RSS 2.01

Спецификации Гарварда. Французская версия: .fr

Переводчик: Денис Суро

Оригинал документа Дэйва Винера в Гарварде.

Резюме

Определение формата RSS 2.01 Гарвардом. Она совместима с версиями .91 и .92. Она не имеет ничего общего с версией 1.0, которая является форматом RDF синдикации или с форматом Atom IETF. Этот документ предназначен для авторов программного обеспечения, которые хотят создавать RSS-файлы или просматривать каналы, а также для всех, кто хочет получить информацию о формате.

Состояние этого документа

Этот документ не является спецификацией W3C. В W3C нет спецификации синдикации. В W3C был указан формат XML в основе настоящего формата, а также формат RDF в основе версии 1.0.
Настоящий документ имеет лицензию Creative Common. Разрешение на его печать и распространение предоставляется при условии, что имя автора и переводчика, а также URL-адреса не будут удалены или изменены.

Перевод начинается ниже

Оглавление

1. Что такое RSS

RSS - формат синдикации веб-контента.

Его имя - аббревиатура Really Simple Syndication.

RSS - диалект XML. Все RSS-файлы должны соответствовать спецификации XML 1.0, которая опубликована на сайте Всемирного веб-консорциума (W3C).

Сводка истории версий RSS.

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

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

1.1. Примеры файлов

Вот примеры для: RSS 0.91, 0.92 и 2.0.

Обратите внимание, что файлы примеров могут указывать на документы или службы, которые больше не существуют. Пример .91 был создан при написании документов .91. Было бы неплохо сохранить список примеров.

2. Об этом документе

Этот документ представляет состояние RSS на конец 2002 года в версии 2.0.1.

Он включает все изменения и дополнения, начиная с базовой спецификации для RSS 0.91 (июнь 2000) и включает новые функции, введенные в RSS 0.92 (декабрь 2000) и RSS 0.94 (август 2002).

Примечания об изменении можно найти здесь.

Сначала мы задокументируем необходимые и необязательные подэлементы «канала»; затем подэлементы <item>. Заключительные разделы отвечают на часто задаваемые вопросы и содержат дорожную карту для будущих событий, а также инструкции по расширению RSS.

3. Элементы канала

3.1. Необходимые элементы

Ниже представлен список необходимых элементов канала, каждый из которых имеет краткое описание, пример, а при наличии указателя на более полное описание.

Элемент Описание Пример
титл Название канала. Так говорится о вашем служении. Если у тебя есть HTML-сайт, содержащий ту же информацию, что и твой RSS-файл, название твоего канала должно быть таким же, как и название сайта. GoUpstate.com News Headlines
ссылка URL-адрес веб-сайта HTML, соответствующий каналу. http://www.goupstate.com/
описание        Фраза или приговор, описывающий канал. Последние новости GoUpstate.com, сайт Спартанбургского геральд-журнала.


3.2. Дополнительные элементы

Это список дополнительных элементов канала.

Элемент Описание Пример
язык Язык, на котором написан канал. Это позволяет агрегаторам группировать все сайты итальянского языка, например, на одной странице. Список возможных значений для этого элемента, предоставленный Netscape, представлен здесь. Также можно использовать значения, определенные W3C. en-US, fr-FR
авторское право Уведомление об авторском праве на содержимое канала. Авторское право 2002, Spartanburg Herald-Journal
managingEditor Адрес электронной почты лица, ответственного за редакционное содержание. geo@herald.com (Георгий Матески)
веб-мастер Адрес электронной почты лица, ответственного за технические проблемы канала. betty@herald.com (Бетти Гернси)
РекламаДата Дата публикации содержания канала. Например, ежедневно публикуя The New York Times, дата публикации меняется каждые 24 часа. Именно тогда меняется реклама канала. Все даты и время RSS соответствуют Спецификации даты и времени RFC 822, за исключением того, что год может быть представлен двумя или четырьмя символами (желательно четырьмя). Сат, 07 сен. 2002 г. 00:00:01 GMT
lastBuildDate Последняя дата изменения содержания канала. Сат, 07 сен. 2002 г. 09:42:31 GMT
категория Указывает категорию или несколько категорий, которым соответствует канал. Следует тем же правилам, что и элемент категории уровня <item>. Подробнее. <category> Газеты </category>
генератор Строка, указывающая программу, используемую для создания канала. MightyInHouse Content System v2.3
доки URL-адрес, указывающий на документацию формата, используемого для RSS-файла. Вероятно, это указатель на этой странице. Это для людей, которые через 25 лет отсюда запинают на RSS-файл на сервере и задаются вопросом, что это такое. http://cyber.law.harvard.edu/tech/rss
облако Позволяет процессам сохранять в облаке уведомления об обновлениях канала, реализуя легкий протокол RSS-канала публикации-подписки. Подробнее здесь. <cloud domain =» rpc.sys.com» port =» 80» path = «/RPC2 »registerProcedure =» pingMe» protocol =» soap »/>
ttl ttl - это срок службы. Это число минут, показывающее, как долго канал может храниться в кэше перед обновлением в источнике. Больше информации здесь. <ttl> 60 </ttl>
изображение Указывает изображение GIF, JPEG или PNG, которое не может отображаться вместе с каналом. Больше информации здесь.
рейтинг Ребро ПИКС для канала.
textInput Указывает поле ввода текста, которое не может отображаться с каналом. Больше информации здесь.
skipHors Подсказка для агрегаторов, указывающая, сколько часов можно пропустить. Больше информации здесь.
skipDays Подсказка для агрегаторов о том, сколько дней можно пропустить. Больше информации здесь.


<image> под элементом <channel> 

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

<url> - URL-адрес изображения GIF, JPEG или PNG, представляющего канал .

<title> описывает изображение, оно используется атрибутом ALT тега HTML <img> при рендеринге канала в HTML.

<link> - это URL-адрес сайта, когда отображается канал, изображение является ссылкой на сайт. (Примечание, на практике <title> и <link> изображения должны иметь то же значение, что и <title> и <link> канала .

Дополнительные элементы включают <width> и <height>, числа, указывающие ширину и высоту изображения в пикселах. <описание>, содержащий текст, включенный в атрибут TITLE ссылки вокруг изображения в рендеринге HTML.

Максимальное значение ширины - 144, по умолчанию - 88.

Максимальное значение высоты - 400, по умолчанию - 31.

<cloud> под элементом <channel> 

<cloud> является необязательным подразделом «channel».

Он указывает веб-службу, поддерживающую интерфейс rssCloud, который может быть реализован в HTTP-POST, XML-RPC или SOAP 1.1.

Его цель - дать процессорам возможность записывать как «облако» для уведомления об обновлениях канала, посредством легкой реализации протокола 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>.

ttl здесь на время существования. Это число минут, показывающее, как долго канал может оставаться в кэш-памяти до его обновления из источника. Это означает, что исходники RSS могут быть генерированы сетью общего доступа к файлам, такой как Gnutella. (Н.Д.т: Закрытый сайт).

Пример: <ttl> 60 </ttl>

<textInput> под элементом <channel> 

Канал может содержать элемент <textInput>, содержащий четыре элемента.

<title> -- Метка кнопки Submit (отправить) в текстовом поле ввода.

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

<name> - имя текстового объекта в текстовом поле ввода.

<link> - URL-адрес сценария CGI, обрабатывающего запросы на ввод текста.

В цели этого элемента <textInput> есть что-то загадочное. Его можно использовать для задания окна поисковой системы. Чтобы позволить читателю дать ответ. Большинство агрегаторов это игнорируют.

4. Элементы элементов

Канал может содержать любое число <item> s. Элемент может представлять «историю» - скорее, как газетный или журнальный рассказ; чтобы его описание было синопсисом истории, а связь указывала на всю историю. Элемент также может быть полным, поэтому его описание содержит текст (HTML-кодированный объект разрешен, см. примеры), а ссылка и название могут быть опущены. Все элементы элемента являются необязательными, однако должно присутствовать по крайней мере название или описание.

Элемент Описание Пример
титл Название элемента. Венецианский кинофестиваль Сортирует в Quit Sinking
ссылка URL-адрес объекта. http://nytimes.com/2004/12/07FEST.html
описание      Синопсис элемента. Некоторые из самых горячих дискуссий на Венецианском кинофестивале на этой неделе касались того, как был поставлен приезд звезд в Палаццо-дель-Синема.
автор Адрес электронной почты автора пункта. Больше.
категория Помещает элемент в одну или несколько категорий. Больше.
комментарии URL-адрес страницы комментариев к элементу. Больше.
загон Описывает медиаобъект, присоединенный к элементу. Больше.
guid Строка, которая уникально идентифицирует элемент. Больше.
РекламаДата Указывает, когда был опубликован элемент. Больше.
источник Канал RSS, откуда взялся элемент. Больше.


<источник> под элементом <элемент> 

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

Его значение - название RSS-канала, откуда взялся элемент, производный от его «title». У него есть обязательный атрибут url, связанный с XML-преобразованием источника.

<source url = «http://www.tomalak.org/links2.xml «> Tomalak's Realm </source>

Цель этого элемента - распространение кредита на ссылки, реклама источников новостных сюжетов. Его можно использовать в команде Post агрегатора. Он должен генерироваться автоматически при отправке элемента из агрегатора в инструмент управления блогом.

<encosure> под элементом <item> 

<enclosure> является вложенным элементом <item>.

У него три необходимых атрибута. URL-адрес указывает, где находится блокировка, length - размер в байтах, а тип - тип, который является одним из стандартных типов MIME.

URL-адрес должен быть HTTP-адресом.

<enbosure url = «http://www.scripting.com/mp3s/weatherReportSuite.mp3» length = «12216320» type = «audio/mpeg »/>

Разработка этого элемента для случая пользователя находится здесь. (NdT: исходный документ был удален, но найден и сохранен здесь).

<категория> под элементом <item> 

<category> является необязательным подразделом <item>.

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

Значение элемента - это строка, в которой разделитель представляет собой слеш, определяющий иерархическое расположение в назначенной таксономии. Сотрудники по лечению могут заключать соглашения о толковании категорий. Ниже приводятся два примера:

<category> Grateful Dead </category>

<category domain = «http://www.fool.com/cusips «> MSFT </category>

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

<pabDate> под элементом <item> 

<pabDate> является необязательным вложенным элементом <item>.

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

<pabDate> Sun, 19 мая 2012 15:21:36 GMT </pabDate>

<guid> под элементом <item> 

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

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

<guid> http ://some.server.com/weblogItem3207 </guid>

Нет правила синтаксиса для guid. Агрегаторы могут видеть в них цепочку. Установить уникальность строки - дело источника потока.

Если у атрибута guid есть атрибут с именем «isPermaLink» со значением true (истина), читатель может считать, что это permalian объекта, то есть url, который может быть открыт браузером, указывающим на полный элемент, описанный элементом <item>. Пример:

<guid isPermaLink = «true «> http ://inessential.com/2002/09/01.php # a2 </guid>

isPermaLink является необязательным, его значение по умолчанию - true. Если его значение - false (false), то guid нельзя считать url, или url к чему-то конкретному.

<comments> под элементом <item> 

<comments> является необязательным подразделом <item>.

Если он присутствует, то это URL-адрес страницы комментария объекта .

<comments> http ://ekzemplo.com/entry/4403/comments </comments>

Подробнее о комментариях здесь.

<author> под элементом <item> 

<author> является необязательным подразделом <item>.

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

<author> lawyer @ boyer.net (Адвокат Бойер) </author>

5. Комментарии

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

В RSS 0.91 разные элементы ограничивались 500 или 100 символами. В «канале» 0.91 могло быть не более 15 <объектов>. В RSS 0.92 и выше отсутствует длина строки или ограничение уровня XML. Агенты обработки могут устанавливать собственные ограничения, а генераторы могут иметь опции, указывающие, что в канале может появиться не более определенного числа <item> s или что строки имеют ограниченную длину.

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

Часто задаваемый вопрос о <guid> s - как они сравниваются с <link> s. Это одно и то же? Да, для одних контентных систем, а не для других. Для некоторых систем <link> является пермяком в пункте блога. Однако в других системах каждый <item> является синопсисом более длинной статьи, <link> указывает на статью, а <guid> - пермяком на запись в веблоге. В любом случае рекомендуется предоставить гид, а по возможности сделать его пермяком. Это позволяет агрегаторам не повторять пункты, даже если были изменения правки.

Если у тебя есть вопросы о формате RSS 2.0, пожалуйста, размести их на форуме RSS2-Support, размещенном Sjoerd Visscher. Это не дискуссионный форум, а ресурс поддержки пользователей, авторов и разработчиков, которые создают и используют контент в формате RSS 2.0.

6. Расширить RSS

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

RSS 2.0 добавляет эту возможность, следуя простому правилу. RSS-канал может содержать элементы, не описанные на этой странице, только если эти элементы определены в пространстве имен.

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

7. Дорожная книжка

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

8. Лицензия

RSS 2.0 предлагается компанией Berkman Center for Internet & Society в Гарвардской юридической школе на условиях лицензии Attribute/Share Alike Creative Commons. Автором оригинального документа является Дейв Винер, основатель программного обеспечения UserLand и партнер Центра Беркмана.

Конец перевода

Содержание этого перевода предлагается на условиях лицензии Attribute/Share Alike Creative Commons.

Creative Commons License