Спонсор: Microsoft
Воронежский государственный университет
Опубликован: 04.02.2009 | Доступ: свободный | Студентов: 7548 / 459 | Оценка: 4.14 / 3.78 | Длительность: 19:54:00
Самостоятельная работа 16:

Примеры разработки RSS-источников и RSS-ридеров

< Лекция 14 || Самостоятельная работа 16: 12 || Лекция 15 >
Аннотация: Цель работы Введение в технологию RSS. Изучение структуры RSS документов, их генерации и публикации.

RSS – это метод распространения веб-контента с веб-сайта на других веб-сайтах. RSS позволяет выполнять быстрый просмотр новостей и изменений.

На кого ориентирован формат RSS? В первую очередь RSS предназначен для использования на очень часто обновляемых веб-сайтах, например:

  • Новостные сайты (списки новостей).
  • Сайты компаний (списки новостей и продуктов).
  • Календари (списки предстоящих событий и знаменательных дней).
  • Изменения сайтов (список обновленных и новых страниц).

Официального стандарта RSS как такового не существует. Реально используются следующие форматы:

  • Порядка 50% RSS-потоков используют RSS 0.91.
  • Порядка 25% используют RSS 1.0.
  • Оставшиеся 25% RSS-потоков распределены между RSS 0.9 и RSS 2.0.

Как работает RSS?

  1. Создается RSS документ в виде файла с расширением .xml.
  2. Этот файл размещается на веб-сайте.
  3. RSS-поток регистрируется в RSS-аггрегаторах.

Пример RSS документа

<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0">
<channel>
  <title>My Home Page</title>
  <link>http://www.MyHP.edu</link>
  <description>Free web building tutorials</description>
  <item>
    <title>RSS Demo</title>
    <link>http:// www.MyHP.edu/rss</link>
    <description>New RSS demo on my home page</description>
  </item>
  <item>
    <title>XML Demo</title>
    <link> www.MyHP.edu/xml</link>
    <description>New XML demo on my home page</description>
  </item>
</channel>
</rss>

В первой строке размещено объявление версии XML и кодировки документа.

Вторая строка идентифицирует данный документ как RSS документ версии 2.0.

В третьей строке содержится элемент <channel>, описывающий RSS поток. Он в свою очередь содержит дочерние элементы:

  • <title> - описывает заголовок RSS канала.
  • <link> - описывает гиперссылку на канал.
  • <description> - содержит краткую характеристику канала.

Каждый элемент <channel> может содержать один или более <item> элементов. Каждый элемент <item> описывает отдельную статью RSS источника. В свою очередь каждый элемент <item> имеет три обязательных дочерних элемента:

  • <title>
  • <link>
  • <description>

Кроме обязательных элементов <channel> может содержать некоторые дополнительные дочерние элементы.

  • Элемент <category> описывает категорию потока и используется RSS аггрегаторами для группировки сайтов на основе категорий.
  • Элемент <copyright> информирует об авторском праве на данный документ.
  • Элемент <image> предназначен для отображения изображения при показе потока агрегатором. В свою очередь он содержит три обязательных дочерних элемента:
    • <url> - URL изображения
    • <title> - альтернативный текст, отображаемый при невозможности показа изображения
    • <link> - содержит гиперссылку на веб-сайт, содержащий канал

Пример:

<image>
  <url>http://www.myhp.edu/images/me.gif</url>
  <title>My home page</title>
  <link>http://www.myhp.edu</link>
</image>

Элемент <language> информирует о языке документа. Может быть использован аггрегаторами для группировки сайтов по языку.

Список дочерних элементов для элемента <channel>.

Элемент Описание Статус
<category> Указывается одна или несколько категорий потока Необязательный
<cloud> Регистрирует процессы, получающие немедленное извещение в случае обновления потока Необязательный
<copyright> Извещает об авторском праве на документ Необязательный
<description> Краткое описание канала Обязательный
<docs> Указывает URL документов по форматам, используемым в потоке Необязательный
<generator> Указывает на программу, генерирующую поток Необязательный
<image> Позволяет показывать изображение, представляющее поток в аггрегаторе Необязательный
<language> Указывается язык потока Необязательный
<lastBuildDate> Определяется дата последнего обновления содержимого потока Необязательный
<link> Указывается гиперссылка на канал Обязательный
<managingEditor> Содержится почтовый адрес редактора содержимого потока Необязательный
<pubDate> Определяет дату последней публикации содержимого потока Необязательный
<rating> Содержится PICS рейтинг потока Необязательный
<skipDays> Указывает дни, в которые аггрегаторы не должны обновлять поток. Необязательный
<skipHours> Указывается количество часов в течение которых аггрегаторы не должны обновлять поток Необязательный
<textInput> Описывается текстовое поле ввода, отображаемой в потоке Необязательный
<title> Размещается имя канала Обязательный
<ttl> Указывается количество минут в течение которых поток может находится в кэше до обновления из источника Необязательный
<webMaster> Помещается адрес электронной почты веб-дизайнера потока Необязательный

Список дочерних элементов для элемента < item >

Элемент Описание Статус
<author> Адрес электронной почты автора темы Необязательный
<category> Описывает одну или более категорий для данной темы Необязательный
<comments> Позволяет связать тему с комментариями по данной теме Необязательный
<description> Краткое описание темы Обязательный
<enclosure> Позволяет включить мультимедиа файл в данную тему Необязательный
<guid> Содержит уникальный идентификатор темы Необязательный
<link> Содержит гиперссылку на тему Обязательный
<pubDate> Содержит последнюю дату публикации темы Необязательный
<source> Указывает внешний источник для данной темы Необязательный
<title> Название темы Обязательный
< Лекция 14 || Самостоятельная работа 16: 12 || Лекция 15 >
Михаил Олифиренко
Михаил Олифиренко
Александр Табачук
Александр Табачук

Это только у меня не работает кнопочка "Получить код DreamSpark"? Пишет "временно не доступно..." А когда заработает?

Али Сабиров
Али Сабиров
Россия, Москва
Григорий Балин
Григорий Балин
Россия, г. Обнинск