Старый 15.07.2008, 15:27   #1 (permalink)
Местный
 
Аватар для Haruhi Sudzu
 
Специализация: Новичок
Регистрация: 16.05.2008
Сообщений: 162
Репутация: 115
По умолчанию Как устроен формат RSS


Медленно пыхтя, технология RSS начинает разворачиваться в Рунете, принося первые практические результаты ... и тут выясняется, что немногие знают, что такое RSS, и еще меньше - зачем он нужен (какая от него практическая польза).

Что же такое - RSS? Кто-то думает, что RSS - это способ репликации контента, кто-то - что это способ обмена контентом. Ничего подобного. Ключевое слово в RSS не replication , не exchange , а syndication .

Syndication - это объединение разнообразного контента, физически находящегося на различных серверах, в одну логическую точку, создавая эффект присутствия на нескольких сайтах одновременно. Поскольку таких логических точек может быть много, то со стороны пользователя технология RSS работает на принципе p2p. Кроме того, syndication организован так, что создается иллюзия : не вы ходите на сайты, а сайты сами приходят к вам.

Пользоваться RSS очень просто. Скачиваете и устанавливаете себе программу. Указываете адреса интересующих вас RSS фидов (RSS feeds) или выбираете из каталога. Дальше программа сама позаботится об актуальности, отслеживая обновления фидов RSS.
Вместо того, чтобы самому ползать по сайтам в поисках чего-то нового, вы получаете сводную информацию к себе на компьютер - ползать будет feed reader. Если какая-то запись заинтересовала - можно пройти на сайт (блог), чтобы прочитать запись в оригинальном (полном) виде.

Можно не ограничиваться своим компьютером, а обрабатывать RSS фиды на сервере скриптами. И выкладывать для публичного доступа.
Как это устроено? RSS - это файл, который экспортирует новости и последние обновления сайта (блога). Чтобы не перегружать этот файл, в него, как правило, включаются заголовки и один-два абзаца статьи, новости или записи блога. Вместе с тем, RSS - это не только своеобразный (xml-like) формат файла, но и идея - syndication. 'Генераторы контента' экспортируют, а 'потребители' - импортируют информацию. Все вместе - это круговорот информации в Сети, включая обратную связь.

Что касается 'массовой' концентрации RSS фидов и обработки их для конечного пользователя (при этом пользователь формирует ленту из доступного ему множества RSS) как сервиса, то этим занимается только MyYandex. Когда-то давно сходную идею пытался внедрить NewMail для своего комьюнити. Называлось это 'канал' и выглядело как новостной блок из трех полей: заголовок, линк и краткое пояснение. Редактировать канал мог только владелец, а остальные - вставляли канал в свою стартовую страничку пользователя сервиса.
Правда, после очередного апгрейда эти каналы куда-то пропали.
Таким образом технология RSS дает возможность каждому сформировать собственное информационное пространство, информационный блок, доступный не только владельцу.
В качестве программы для сбора и чтения RSS фидов на своем компьютере (персональный аггрегатор) можно использовать FeedReader. Но я хотел бы намекнуть о другой, новой и более удобной программе - ActiveRefresh. Она позволяет:

- читать RSS фиды, отслеживая изменения через указанный период времени *
- отслеживать изменения на веб-сайтах. Система фильтров позволяет выводить изменения (или ленту новостей сайта) в удобном для вас виде
- процитировать интересную новость в LiveJournal: ActiveRefresh может выступать клиентом для LJ и блогов.

Автор: Вадим Артамонов


Что такое RSS?
Автор: 2002 (c) Mark Pilgrim и XML.com
перевод: Александр Качанов

RSS это формат, предназначенный для публикации новостей на новостных и подобных им сайтах, начиная от таких ведущих новостных сайтов, как Wired, Slashdot, и кончая личными сетевыми дневниками (weblog-ами). Но по сути, публиковать можно не только новости. Практически любой материал, который можно разделить на отдельные части, можно публиковать с помощью RSS: например, объявления о последних публикациях в 'wiki', информация об обновлениях в CVS, история изменений, внесенных в книгу. После того, как информация преобразована в формат RSS, программа, понимающая этот формат, может вытягивать сведения о внесенных изменениях и в зависимости от результата, например, автоматически предпринимать какие-либо действия.

Программы, умеющие работать с RSS, называются агрегаторами, и они очень популярны среди людей, ведущих сетевые дневники (weblog-и). Некоторые программы-дневники даже позволяют другим делать комментарии к записям. И многие дневники умеют публиковать записи в формате RSS. Программа-агрегатор позволяет вам собирать все эти публикации вместе, и вы получаете возможность одновременно следить за появлением новых новостей на всех сайтах сразу и читать их краткое содержание, не посещая каждый сайт в отдельности.

Краткая история
Программисты, будьте бдительны! Под термином 'RSS' скрывается формат, который распался на несколько различных версий как минимум двух различных (но существующих одновременно) форматов. Исходный RSS, версию 0.90, разработали в компании Netscape. Это был формат, предназначенный для создания новостных порталов ведущих новостных компаний. Так как многие посчитали его слишком сложным, компания Netscape разработала более простую версию - 0.91, которую, впрочем, забросила, потеряв всякий интерес к бизнесу порталов. Но версия 0.91 была передана на поруки компании UserLand Software, которая собирается использовать этот формат как основу для своих weblog-продуктов и других web-приложений.

Тем временем, третья, уже некоммерческая организация, отколовшись от общего течения, создала новый формат, который, как полагалось, соответствует духу и принципам исходного формата RSS 0.90 (т.е. до того, как он был упрощен до 0.91). Этот формат, основанный на языке RDF, назвали RSS 1.0. К сожалению, компания UserLand не принимала участия в разработке этого нового формата, и как защитник упрощенной версии 0.90 она не была счастлива, когда появился формат RSS 1.0. Вместо принятия этого формата UserLand решила развить ветку 0.9х и создала версии 0.92, потом 0.93, 0.94 и наконец 2.0.

Вот такой винегрет.

Так каким же форматом мне пользоваться?
Итак, существует 7 - только подумайте '7!' - различных форматов, и все они называются RSS. Как программисту, пишущему программу-агрегатор, вам придется сражаться со всеми этими форматами. Ну а какой формат выбрать пользователю, публикующему свои новости в формате RSS?

Как выглядит RSS?
Скажем, вы захотели написать программу, которая считывает новости в формате RSS, чтобы, например, публиковать заголовки новостей на своем сайте, или чтобы создать портал новостей и так далее. Как выглядит RSS-файл? Все зависит от того, о какой версии RSS идет речь. Вот пример файла в формате RSS 0.91 (урезанная версия новостей с XML.com: XML From the Inside Out -- XML development, XML resources, XML specifications

XML.com: XML From the Inside Out -- XML development, XML resources, XML specifications
XML.com features a rich mix of information and services for the XML community.
en-us

XML.com: Normalizing XML, Part 2
In this second and final look at applying relational normalization techniques to W3C XML Schema data modeling, Will Provost discusses when not to normalize, the scope of uniqueness and the fourth and fifth normal forms.

XML.com: The .NET Schema Object Model
Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.

XML.com: SVG's Past and Promising Future
In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.

Все просто, правда? Блок новостей (channel) состоит из заголовка, ссылки, данных о языке новостей и описания. После этого идет список самих новостей, где в каждом пункте указывается заголовок, ссылка и краткое описание новости.
Теперь давайте взглянем, как та же самая информация выглядит в формате RSS 1.0:
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns='http://purl.org/rss/1.0/'
xmlns:dc='http://purl.org/dc/elements/1.1/'
>

XML.com: XML From the Inside Out -- XML development, XML resources, XML specifications
XML.com features a rich mix of information and services for the XML community.
en-us

XML.com: Normalizing XML, Part 2
In this second and final look at applying relational normalization techniques to W3C XML Schema data modeling, Will Provost discusses when not to normalize, the scope of uniqueness and the fourth and fifth normal forms.
Will Provost
2002-12-04

XML.com: The .NET Schema Object Model
Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.
Priya Lakshminarayanan
2002-12-04

XML.com: SVG's Past and Promising Future
In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.
Antoine Quint
2002-12-04

Довольно многословно, не так ли? Те, кто знаком с RDF, сразу узнают, что этот файл - RDF-документ, сохраненный в XML. Остальные, разберутся, что в файле представлена вся та же информация, что и в первом примере. Мы только добавили еще некоторую дополнительную информацию, как, например, авторство каждой новости, и дату публикации, которых нет в RSS 0.91.

Несмотря на то, что RSS 1.0 является смесью RDF и XML, структурно он схож с предыдущими версиями RSS - схож достаточно, чтобы мы рассматривали его как обычный XML-файл. Следовательно мы можем написать одну программу, которая умеет извлекать информацию из обоих форматов: и из RSS 0.91 и из RSS 1.0. Однако есть все-таки некоторые различия, о которых ваша программа должна знать:
Корневым элементом в RSS 1.0 является rdf:RDF, а не rss. Вам либо придется явно обрабатывать оба этих элемента, либо просто игнорировать их и слепо извлекать только ту информацию, которая вам нужна.

В RSS 1.0 используются пространства имен (namespaces). Пространство имен для RSS 1.0 выглядит так RDF Site Summary (RSS) 1.0. И это пространство имен принимается по умолчанию. Кроме того в файле используются пространства имен http://www.w3.org/1999/02/22-rdf-syntax-ns# для элементов, специфичных для RDF (мы их тоже можем игнорировать), и http://purl.org/dc/elements/1.1/ (Dublin Core) для дополнительных метаданных об авторах статей и датах публикаций.

Вы можете пойти двумя путями: если ваш XML-парсер не понимает пространства имен, вы можете просто считать, что в файле используются элементы с префиксами и слепо искать в них элементы items и dc:creator. Такой способ сработает в большинстве случаев, так как в новостях формата RSS 1.0 чаще всего используется только пространство имен, принятое по умолчанию, и пространство имён Dublin Core. Конечно, данный способ - не элегантен, ведь нет никаких гарантий, что в каких-нибудь новостях не будет использовано какое-либо другое пространство имен (что вполне легально с точки зрения RDF и XML). И ваш парсер пропустит все новости.

Если же ваш XML-парсер понимает пространства имен, вы можете построить более изящное решение, которое сумеет разобрать новости и формате 0.91 и в формате 1.0.

Менее очевидный, но важный факт состоит в том, что в RSS 1.0 элементы item находятся вне элемента channel. В RSS 0.91 элементы item расположены внутри channel. В 0.90 они были снаружи. В 2.0 - они внутри. Во-как! Не запутайтесь с тем, в каком элементе надо искать новости.

Наконец, вы заметите, что в элементе channel есть один элемент items. Он нужен только для RDF-парсеров (задает порядок новостей). Вы можете его игнорировать и считать, что все новости идут в том порядке, в каком расположены элементы item.

А как выглядит формат RSS 2.0? К счастью, для программ, понимающих форматы RSS 0.91 и 1.0, формат RSS 2.0 будет проще пареной репы.

XML.com: XML From the Inside Out -- XML development, XML resources, XML specifications
XML.com features a rich mix of information and services for the XML community.
en-us

XML.com: Normalizing XML, Part 2
In this second and final look at applying relational normalization techniques to W3C XML Schema data modeling, Will Provost discusses when not to normalize, the scope of uniqueness and the fourth and fifth normal forms.
Will Provost
2002-12-04

XML.com: The .NET Schema Object Model
Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.
Priya Lakshminarayanan
2002-12-04

XML.com: SVG's Past and Promising Future
In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.
Antoine Quint
2002-12-04

Как показывает данный пример, в RSS 2.0 тоже используются пространства имен, как и в RSS 1.0. Но это не RDF. Как и в RSS 0.91, нет пространства имен, принятого по умолчанию, а новости (в элементах item) размещены опять в элементе channel.
__________________




Если вы хотите узнать, что на самом деле думает женщина, смотрите на нее, но не слушайте.

(с) Оскар Уайльд
Haruhi Sudzu вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Этот пользователь отблагодарил Haruhi Sudzu за это сообщение:
AleX (15.07.2008)
Старый 17.07.2008, 12:34   #2 (permalink)
Пользователь
 
Аватар для NecroS
 
Регистрация: 27.04.2008
Адрес: СПб
Сообщений: 75
Репутация: 12
Номер ICQ 453279115
По умолчанию Ответ: Как устроен формат RSS

Ну тыб хотяб чтонибудь от себя добавлял бы... А то так скопировал и все... Если все так будут копировать статьи других сайтов, форуму от этого не лучше, а лучше ток тебе...
NecroS вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Этот пользователь отблагодарил NecroS за это сообщение:
Devil (18.07.2008)
Старый 17.07.2008, 22:09   #3 (permalink)
Администратор
 
Аватар для Manfred
 
Специализация: Дизайнер
Регистрация: 07.12.2007
Адрес: МСК
Сообщений: 1,485
Репутация: 1252
Номер ICQ 232466
По умолчанию Ответ: Как устроен формат RSS

я вот дурак дураком, про RSS особо ничего не знал, так хоть польза, всё равно спасибо
__________________
↑ ↑ ↑ WARNING! линчеватель дизайна ↑ ↑ ↑





Война войной, а обед - по расписанию. (с) Фридрих Вильгельм I

Кубик Рубика - трёхмерный визуализатор процесса дефрагметации (с)

>>> Manfred Blog <<<

Бьерн Страуструп, один из разработчиков языка С++:
"Я всегда мечтал о том, чтобы работа с компьютером была не сложнее
пользования телефоном. Моя мечта стала реальностью.
Теперь я уже не знаю, как пользоваться всеми возможностями телефона".
Manfred вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Старый 18.07.2008, 23:13   #4 (permalink)
Администратор
 
Аватар для Devil
 
Специализация: Кодер
Регистрация: 05.12.2007
Адрес: Москва
Сообщений: 3,016
Репутация: 1325
Номер ICQ 599613
По умолчанию Ответ: Как устроен формат RSS

Manfred, ну конечно, а у меня спрасить не позволила религия?
__________________
Мы те, кто мы есть
Мой личный блог
Devil вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Старый 19.07.2008, 00:43   #5 (permalink)
Администратор
 
Аватар для AleX
 
Специализация: Кодер
Регистрация: 10.01.2008
Адрес: Украина, Киев.
Сообщений: 1,363
Репутация: 719
Номер ICQ 974909
По умолчанию Ответ: Как устроен формат RSS

Да ладно. Зато теперь не будут спрашивать, что это такое.
__________________
AleX's Blog
AleX вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Старый 19.07.2008, 16:43   #6 (permalink)
Администратор
 
Аватар для Manfred
 
Специализация: Дизайнер
Регистрация: 07.12.2007
Адрес: МСК
Сообщений: 1,485
Репутация: 1252
Номер ICQ 232466
По умолчанию Ответ: Как устроен формат RSS

Цитата: Сообщение от Devil Посмотреть сообщение
Manfred, ну конечно, а у меня спрасить не позволила религия?

каждый раз, когда я тебя это спрашивал, ты орал, что говорил мне это тыщу с хреном раз и я всё равно забывал
__________________
↑ ↑ ↑ WARNING! линчеватель дизайна ↑ ↑ ↑





Война войной, а обед - по расписанию. (с) Фридрих Вильгельм I

Кубик Рубика - трёхмерный визуализатор процесса дефрагметации (с)

>>> Manfred Blog <<<

Бьерн Страуструп, один из разработчиков языка С++:
"Я всегда мечтал о том, чтобы работа с компьютером была не сложнее
пользования телефоном. Моя мечта стала реальностью.
Теперь я уже не знаю, как пользоваться всеми возможностями телефона".
Manfred вне форума  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post! Добавить в закладки Google
Ответить с цитированием
Ответ

Теги
rss, кыы, что такое rss


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения



Часовой пояс GMT +3, время: 06:34.
vBulletin® версия 7.6.1.
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Web Mastering By Devil Art