Примеры разработки RSS-источников и RSS-ридеров (Лабораторная работа 16)

Страницы работы

Фрагмент текста работы

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

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

Элемент

Описание

Статус

<category>

Указывается одна или несколько категорий потока

Необязательный

<cloud>

Регистрирует процессы, получающие немедленное извещение в случае обновления потока

Необязательный

<copyright>

Извещает об авторском праве на документ

Необязательный

<description>

Краткое описание канала

Обязательный

<docs>

Указывает URL документов по форматам, используемым в потоке

Необязательный

<generator>

Указывает на программу, генерирующую поток

Необязательный

<image>

Позволяет показывать изображение, представляющее поток в аггрегаторе

Необязательный

<language>

Указывается язык потока

Необязательный

<lastBuildDate>

Определяется дата последнего обновления содержимого потока

Необязательный

<link>

Указывается гиперссылка на канал

Обязательный

<managingEditor>

Содержится почтовый адрес редактора содержимого потока

Необязательный

<pubDate>

Определяет дату последней публикации содержимого потока

Необязательный

<rating>

Содержится PICS рейтинг потока

Необязательный

<skipDays>

Указывает дни, в которые аггрегаторы не должны обновлять поток.

Необязательный

<skipHours>

Указывается количество часов  в течение которых аггрегаторы не должны обновлять поток

Необязательный

<textInput>

Описывается текстовое поле ввода, отображаемой в потоке

Необязательный

<title>

Размещается имя канала

Обязательный

<ttl>

Указывается количество минут в течение которых поток может находится в кэше до обновления из источника

Необязательный

<webMaster>

Помещается адрес электронной почты веб-дизайнера потока

Необязательный

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

Элемент

Описание

Статус

<author>

Адрес электронной почты автора темы

Необязательный

<category>

Описывает одну или более категорий для данной темы

Необязательный

<comments>

Позволяет связать тему с комментариями по данной теме

Необязательный

<description>

Краткое описание темы

Обязательный

<enclosure>

Позволяет включить мультимедиа файл в данную тему

Необязательный

<guid>

Содержит уникальный идентификатор темы

Необязательный

<link>

Содержит гиперссылку на тему

Обязательный

<pubDate>

Содержит последнюю дату публикации темы

Необязательный

<source>

Указывает внешний источник для данной темы

Необязательный

<title>

Название темы

Обязательный

  1. Публикация RSS файла

Создание RSS потока не ограничивается разработкой RSS документа. Необходимо еще опубликовать этот файл. Для этого потребуется выполнить следующую последовательность действий:

1.  Выбрать подходящее название для RSS файла. Расширение должно быть .xml.

2.  Проверить RSS файл на правильность с помощью подходящей программы-валидатора, например, взятой по адресу http://www.feedvalidator.org.

3.  Разместить RSS файл в подходящем веб-каталоге веб-сервера.

4.  Скопировать одну из «кнопок»: RSS Logo или XML Logo в веб-каталог.

5.  Вставить выбранную «кнопку» на исходящую страницу RSS потока в виде гиперссылки на RSS файл, например:

<a href = "www.myhp.edu/rss/myrss.xml">

< img src="www.myhp.edu/rss/rss.gif" width="35" height="15">

</a>

6.  Разместить созданный RSS поток в популярных Каталогах  RSS потоков, при этом URL потока должен ссылаться именно на сам XML файл потока, т.е. http://www.myhp.edu/rss/myrss.xml.

7.  Можно также зарегистрировать поток в популярных поисковых системах, например:

  • Yahoo - http://publisher.yahoo.com/rss_guide/submit.php
  • Google - http://www.google.com/ig
  • MSN - http://w.moreover.com/site/products/ind/pingserver.html

8.  Периодическое обновление потока.

В принципе, можно самостоятельно заниматься формированием данных в соответствующем формате RSS для работы потока. Однако имеются достаточно удобные высокоуровневые средства для автоматизации данной работы. Например:

·  MyRSSCreator - http://www.myrsscreator.com/

·  FeedFire - http://www.feedfire.com/site/index.html.

Для чтения RSS потоков используются специальные программы чтения – RSS ридеры. Некоторые из браузеров имеют встроенные RSS ридеры. В частности, веб-браузер MS Internet Explorer 7 может интерпретировать XML файлы RSS потоков и корректно их отображать.

  1. Добавление RSS-канала с помощью MicrosoftInternetExplorer версии 7

При использовании MS Internet Explorer версии 7 и Office Outlook 2007 можно добавлять и просматривать RSS-каналы с помощью любой из этих программ.

  1. При просмотре веб-страницы, содержащей RSS, в Internet Explorer рядом с кнопкой Значок кнопки (Домашняя страница) отображается кнопка Значок кнопки.
  2. Нажмите кнопку Изображение кнопки.
  3. На веб-странице отобразится список доступных RSS-каналов.

4.  Выберите RSS-канал, который необходимо добавить.

Можно также нажать кнопки Значок кнопки, Кнопка RSS или Кнопка XML, расположенные на веб-странице.

Порядок выполнения лабораторной работы

1.  Создание RSS документа с помощью PHP сценария и с использованием интерфейса DOM XML.

1)  Подготовьте файл, содержащий сценарий на языке PHP:

<?php

// Создается новый XML документ.

$dfeed = new DOMDocument('1.0', 'utf-8');

// Создание корневого элемента  <rss>

$erss = $dfeed->createElement('rss');

$erss->setAttribute('version', '2.0');

//  И добавление его в дерево документа

$dfeed->appendChild($erss);

// Создание элемента <channel> и добавление его к <rss>

$echannel = $dfeed->createElement('channel');

$erss->appendChild($echannel);

// Создание и добавление в channel

// узлов <title>, <link>, <description>, <language>, <pubDate>

$echannel->appendChild( $dfeed->createElement('title', 'RSS-channel title') );

$echannel->appendChild( $dfeed ->createElement('link', 'http://www.myhp.edu') );

$echannel->appendChild( $dfeed ->createElement('description', 'my RSS demo') );

$echannel->appendChild( $dfeed ->createElement('language', 'en') );

$echannel->appendChild( $dfeed ->createElement('pubDate', date('r')) );

// Добавление к узлу <channel> 2 узлов <item>

for ( $i = 1; $i <= 2; $i++ )

{

$eitem = $dfeed->createElement('item');

$echannel->appendChild($eitem);

// Создание дочерних элементов для <item>

$eitem->appendChild( $dfeed->createElement

Похожие материалы

Информация о работе