Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 

ИЗУЧИТЕ КОМПЬЮТЕР
ОТ А ДО Я!

(Всего 230 видео урока)

Вы эффективно освоите: компьютер, Интернет, программы, удаление вирусов, установку windows xp, windows 7, видеомонтаж и многое другое...

УЗНАЙТЬ ПОДРОБНОСТИ О КУРСЕ! >>>

 
Поиск по сайту

 
 

   Интернет технологии -> XML -> Что такое RSS?


Что такое RSS?

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 и рекомендации
Версия Владелец За Статус Советы
0.90 Netscape   Отменен версией 1.0 Не пользуйтесь
0.91 UserLand Очень-очень простой Официально отменен выходом версии 2.0. Но все еще популярен Пользуйтесь для простых публикаций. Если вам понадобится большее, вы легко сможете перейти на 2.0
0.92, 0.93, 0.94 UserLand Больше возможностей, чем у 0.91 Отменен с выходом версии 2.0 Пользуйтесь версией 2.0
1.0 RSS-DEV Working Group Основан на языке RDF. Расширяется с помощью модулей. Не зависит от какой-либо одной компании Стабилен. Ведется активная разработка модулей Используйте для приложений, где используется RDF, либо в том случае, если вам нужен какой-то определенный модуль
2.0 UserLand Расширяется с помощью модулей. Прост при миграции с ветки форматов 0.9х Стабилен. Ведется активная разработка модулей Используйте для публикации новостей общего назначения

Как выглядит RSS?

Скажем, вы захотели написать программу, которая считывает новости в формате RSS, чтобы, например, публиковать заголовки новостей на своем сайте, или чтобы создать портал новостей и так далее. Как выглядит RSS-файл? Все зависит от того, о какой версии RSS идет речь. Вот пример файла в формате RSS 0.91 (урезанная версия новостей с www.xml.com):

<rss version="0.91">
  <channel>
    <title>XML.com</title>
    <link>http://www.xml.com/</link>
    <description>XML.com features a rich mix of information and services for the XML community.</description>
    <language>en-us</language>
    <item>
      <title>Normalizing XML, Part 2</title>
      <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>
      <description>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.</description>
    </item>
    <item>
      <title>The .NET Schema Object Model</title>
      <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>
      <description>Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.</description>
    </item>
    <item>
      <title>SVG's Past and Promising Future</title>
      <link>http://www.xml.com/pub/a/2002/12/04/svg.html</link>
      <description>In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.</description>
    </item>
  </channel>
</rss>

Все просто, правда? Блок новостей (channel) состоит из заголовка, ссылки, данных о языке новостей и описания. После этого идет список самих новостей, где в каждом пункте указывается заголовок, ссылка и краткое описание новости.

Теперь давайте взглянем, как та же самая информация выглядит в формате RSS 1.0:

<rdf:RDF
  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/"
>
  <channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
    <title>XML.com</title>
    <link>http://www.xml.com/</link>
    <description>XML.com features a rich mix of information and services for the XML community.</description>
    <language>en-us</language>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/normalizing.html"/>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/som.html"/>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/svg.html"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://www.xml.com/pub/a/2002/12/04/normalizing.html">
    <title>Normalizing XML, Part 2</title>
    <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>
    <description>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.</description>
    <dc:creator>Will Provost</dc:creator>
    <dc:date>2002-12-04</dc:date>    
  </item>
  <item rdf:about="http://www.xml.com/pub/a/2002/12/04/som.html">
    <title>The .NET Schema Object Model</title>
    <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>
    <description>Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.</description>
    <dc:creator>Priya Lakshminarayanan</dc:creator>
    <dc:date>2002-12-04</dc:date>    
  </item>
  <item rdf:about="http://www.xml.com/pub/a/2002/12/04/svg.html">
    <title>SVG's Past and Promising Future</title>
    <link>http://www.xml.com/pub/a/2002/12/04/svg.html</link>
    <description>In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.</description>
    <dc:creator>Antoine Quint</dc:creator>
    <dc:date>2002-12-04</dc:date>    
  </item>
</rdf:RDF>

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

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

  1. Корневым элементом в RSS 1.0 является rdf:RDF, а не rss. Вам либо придется явно обрабатывать оба этих элемента, либо просто игнорировать их и слепо извлекать только ту информацию, которая вам нужна.
  2. В RSS 1.0 используются пространства имен (namespaces). Пространство имен для RSS 1.0 выглядит так http://purl.org/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.

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

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

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>XML.com</title>
    <link>http://www.xml.com/</link>
    <description>XML.com features a rich mix of information and services for the XML community.</description>
    <language>en-us</language>
    <item>
      <title>Normalizing XML, Part 2</title>
      <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>
      <description>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.</description>
      <dc:creator>Will Provost</dc:creator>
      <dc:date>2002-12-04</dc:date>    
    </item>
    <item>
      <title>The .NET Schema Object Model</title>
      <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>
      <description>Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.</description>
      <dc:creator>Priya Lakshminarayanan</dc:creator>
      <dc:date>2002-12-04</dc:date>    
    </item>
    <item>
      <title>SVG's Past and Promising Future</title>
      <link>http://www.xml.com/pub/a/2002/12/04/svg.html</link>
      <description>In this month's SVG column, Antoine Quint looks back at SVG's journey through 2002 and looks forward to 2003.</description>
      <dc:creator>Antoine Quint</dc:creator>
      <dc:date>2002-12-04</dc:date>    
    </item>
  </channel>
</rss>

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

Автор: Александр Качанов
Перевод: www.webmascon.com

Ссылки по теме
XML: свобода, ограниченная только фантазией
Спецификация новейшего языка разметки XML
XML в 10 тезисах
 
 


 

загрузка...

Новости ИТ
04.02.2012  LG начала продажи в Европе внешнего Blu-ray привода модели BP40NS20
04.02.2012  Pioneer в ближайшее время выпустит пишущий Blu-ray XL привод
04.02.2012  Acer начал продажи своего новейшего неттопа модели Revo RL70
04.02.2012  Четырехканальные наборы модулей памяти DDR3 Super Talent Quadra объемом по 4 ГБ рассчитаны на частоту 1866 МГц
04.02.2012  AMD рассказала о планах на 2012-2013 годы по части графических решений
04.02.2012  Габариты алюминиевого корпуса для ПК Xigmatek Gigas Micro-ATX Cube равны 278 x 396 x 322 мм
04.02.2012  На будущей неделе Tokina анонсирует стабилизированный объектив AT-X 70-200mm f/4 PRO IF FX
04.02.2012  СП Corning и Samsung Mobile Display будет выпускать стеклянные подложки для дисплеев OLED
03.02.2012  В Интернет попали неофициальное изображение и технические подробности предстоящего смартфона Samsung Galaxy S II Plus
03.02.2012  AMD сделала доступными попредзаказу три процессора линейки FX-Series
03.02.2012  ViewSonic начала продажи LED-монитора VX2336s-LED
03.02.2012  Orico X-Gear: дисковод для SATA-накопителей
03.02.2012  Оптический привод Pioneer BDR-S07J позволяет записывать диски BDXL
03.02.2012  Блок питания Super Flower мощностью 430 Вт имеет сертификат 80Plus Gold
03.02.2012  Начался прием заказов на процессоры AMD FX-4170 и FX-6200
03.02.2012  Монитор ViewSonic VX2336s-LED оснащён панелью SuperClear IPS со светодиодной подсветкой
03.02.2012  В накопителях Transcend SSD720 используются контроллеры SandForce последнего поколения
03.02.2012  Анонсирован зеркальный объектив Kenko 400mm f/8 для камер систем Micro Four Thirds и Sony NEX
03.02.2012  ASUS анонсировала пишущий DVD-привод DRW-24B5ST с поддержкой функции Disc Encryption II
03.02.2012  Zalman планирует уже в этом месяце начать продажи двух новейших геймерских Mid Tower-корпусов
03.02.2012  Packard Bell обновила свой 10,1-дюймовый нетбук модели Packard Bell dot s
03.02.2012  MSI показала 10-дюймовый нетбук Wind U180 на базе платформы Intel Cedar Trail
03.02.2012  Titan начала продажи оригинального CPU-кулера Siberia TTC-NC55TZ(RB)
03.02.2012  RunCore представила новейшие SSD-диски линейки Pro-V MAX
03.02.2012  Появились первые тесты инженерного образца 10-ядерного процессора Ivy Bridge-EP
03.02.2012  Внешние накопители Apricorn Aegis Padlock DT шифруют данные по алгоритму AES-XTS
03.02.2012  Системные платы подорожают еще до конца текущего квартала
03.02.2012  Камера COOLPIX S3300 доступна в восьми вариантах цветового оформления
03.02.2012  Verizon представит Droid 4
03.02.2012  Опубликован результат APU AMD Trinity A6 для ультратонких ноутбуков в тесте 3DMark

 
Advertisment



 
Интересное в сети

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100