к библиотеке   к оглавлению   Банки данных Интернет   визуальные среды - 4GL   технологии программирования

Язык XML

История и версии формата RSS

  1. История и версии формата RSS
  2. Примеры
  3. Структура и элементы RSS 2.0
    1. Элемент <channel>
    2. Элемент <item>
  4. Дополнительные возможности RSS 2.0
  5. Перспективы развития RSS
RSS иконка
Логотип RSS

RSS — основанный на XML формат описания лент новостей, анонсов статей, изменений в блогах и форумах и т. п.

В разных версиях аббревиатура RSS имела разные расшифровки:

История и версии формата RSS

Подробную историю спецификации RSS можно посмотреть на официальных сайтах RSS Advisory Board и RSS-DEV Working Group (RSS 1.0). Здесь приведем лишь хронологию появления версий RSS и их особенности.

RSS time-line

  1. 15.03.1999: RSS 0.90 (Netscape), опубликовано: Netscape, разработчик: Ramanathan Guha
  2. 10.06.1999: RSS 0.91 (Netscape), опубликовано: Netscape, разработчик: Dan Libby
  3. 09.06.2000: RSS 0.91 (UserLand), опубликовано: UserLand Software, разработчик: Dave Winer
  4. 06.12.2000: RSS 1.0 (RSS-DEV Working Group), опубликовано: RSS-DEV Working Group
  5. 25.12.2000: RSS 0.92, UserLand
  6. 19.08.2002: RSS 2.0, UserLand
  7. 15.07.2003: RSS 2.0 (version 2.0.1), опубликовано: the Berkman Center for Internet & Society at Harvard Law School, разработчик: Dave Winer
  8. 15.07.2003: RSS 2.0 (version 2.0.1-rv-1), опубликовано: the RSS Advisory Board
  9. 17.07.2003: RSS 2.0 (version 2.0.1-rv-2), RSS Advisory Board
  10. 06.04.2004: RSS 2.0 (version 2.0.1-rv-3), RSS Advisory Board
  11. 31.05.2004: RSS 2.0 (version 2.0.1-rv-4), RSS Advisory Board
  12. 19.07.2004: RSS 2.0 (version 2.0.1-rv-5), RSS Advisory Board
  13. 25.01.2005: RSS 2.0 (version 2.0.1-rv-6), RSS Advisory Board
  14. 12.08.2006: RSS 2.0 (version 2.0.8), RSS Advisory Board
  15. 05.06.2007: RSS 2.0 (version 2.0.9), RSS Advisory Board
  16. 15.10.2007: RSS 2.0 (version 2.0.10), RSS Advisory Board
  17. 30.03.2009 (current*): RSS 2.0 (version 2.0.11), RSS Advisory Board

* — текущая версия на момент написания этой страницы

Исторически, разработкой формата занимались по меньшей мере четыре различные организации, в результате сложилась такая ситуация, что различные версии формата слабо совместимы, а то и совсем не совместимы, между собой. Однако это не мешает им уживаться, благодаря тому, что популярные программы-агрегаторы, как правило, понимают несколько форматов.

Особенности версий RSS

ВерсияВладелецКраткая характеристикаСтатусСоветы
0.90NetscapeСложныйОтменен версией 1.0Устарел
0.91UserLandОчень простойОтменен с выходом версии 2.0., но все еще популяренРекомендован для простых публикаций, совместим с RSS 2.0
0.92, 0.93, 0.94UserLandРасширены по сравнению с 0.91Отменены с выходом версии 2.0Рекомендуется использовать 2.0
1.0RSS-DEV Working GroupОснован RDF и пространствах имен (namespaces). Открытая и расширяемая модульная архитектура (стандартные модули: Dublin Core, Syndication, Content).Стабилен. Ведется активная разработка модулей.Подходит для приложений на основе RDF, либо если требуется функциональность определенного модуля
2.0UserLandРасширяется с помощью модулей. Совместим с форматами 0.9хСтабилен. Ведется активная разработка модулейШироко распространен и используется для публикации новостей общего назначения

Примеры

В листингах 1, 2 и 3 приведены примеры описания лент новостей различных версий RSS.

Листинг 1. Лента новостей RSS 0.91

<RSS version="0.91">
	<channel>
		<title>Учебные материалы для студентов</title>
		<link>http://www.4stud.info/</link> 
		<description>Лента новостей сайта 4stud.info</description>
		<language>ru-ru</language>
		
		<item>
			<title>Сетевые технологии: СРС</title>
			<link>http://www.4stud.info/networking/srs.html</link>
			<description>Новые варианты заданий повышенной сложности 
			для самостоятельной работы студентов.</description>
		</item>
		<item>
			<title>Веб-программирование: Практикум</title>
			<link>http://www.4stud.info/web-programming/css-samples.html</link>
			<description>Семь примеров использования каскадных таблиц стилей</description>
		</item>
		<item>
			<title>Сетевые технологии: Лекции </title>
			<link>http://www.4stud.info/networking/lecture-06.html</link>
			<description>Исправлена схема ППО типа transaction monitor.</description>
		</item>
	</channel>
</rss>

Листинг 2. Лента новостей 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.4stud.info/about.html">
		<title>Учебные материалы для студентов</title>
		<link>http://www.4stud.info/</link>
		<description>Лента новостей сайта 4stud.info</description>
		<language>ru-ru</language>
		<items>
			<rdf:Seq>
				<rdf:li rdf:resource="http://www.4stud.info/networking/srs.html"/>
				<rdf:li rdf:resource="http://www.4stud.info/web-programming/css-samples.html"/>
				<rdf:li rdf:resource="http://www.4stud.info/networking/lecture-06.html"/>
			</rdf:Seq>
		</items>
	</channel>
	
	<item rdf:about="http://www.4stud.info/networking/srs.html">
		<title>Сетевые технологии: СРС</title>
		<link>http20://www.4stud.info/networking/srs.html</link>
		<description>Новые варианты заданий повышенной сложности 
			для самостоятельной работы студентов.</description>
		<dc:creator>aag</dc:creator>
		<dc:date>2009-10-04</dc:date>		
	</item>
	<item rdf:about="http://www.4stud.info/web-programming/css-samples.html">
		<title>Веб-программирование: Практикум</title>
		<link>http://www.4stud.info/web-programming/css-samples.html</link>
		<description>Семь примеров использования каскадных таблиц стилей</description>
		<dc:creator>aag</dc:creator>
		<dc:date>2009-10-04</dc:date>		
	</item>
	<item rdf:about="http://www.4stud.info/networking/lecture-06.html">
		<title>Сетевые технологии: Лекции</title>
		<link>http://www.4stud.info/networking/lecture-06.html</link>
		<description>Исправлена схема ППО типа transaction monitor.</description>
		<dc:creator>aag</dc:creator>
		<dc:date>2009-10-04</dc:date>		
	</item>
</rdf:RDF>

Листинг 3. Лента новостей RSS 2.0

<RSS version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Учебные материалы для студентов</title>
		<link>http://www.4stud.info/</link>
		<description>Лента новостей сайта 4stud.info</description>
		<language>ru-ru</language>

		<item>
			<title>Сетевые технологии: СРС</title>
			<link>http://www.4stud.info/networking/srs.html</link>
			<description>Новые варианты заданий повышенной сложности 
			для самостоятельной работы студентов.</description>
			<dc:creator>aag</dc:creator>
			<dc:date>2009-10-04</dc:date>		
		</item>
		<item>
			<title>Веб-программирование: Практикум</title>
			<link>http://www.4stud.info/web-programming/css-samples.html</link>
			<description>Семь примеров использования каскадных таблиц стилей.</description>
			<dc:creator>aag</dc:creator>
			<dc:date>2009-10-04</dc:date>		
		</item>
		<item>
			<title>Сетевые технологии: Лекции</title>
			<link>http://www.4stud.info/networking/lecture-06.html</link>
			<description>Исправлена схема ППО типа transaction monitor.</description>
			<dc:creator>aag</dc:creator>
			<dc:date>2009-10-04</dc:date>		
		</item>
	</channel>
</rss>

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

Структура и элементы RSS 2.0

RSS — диалект XML, поэтому описание канала RSS обязано соответствовать спецификации XML

Корневым элементом документа RSS является элемент <rss> с обязательным атрибутом version, указывающим версию формата канала. Для формата RSS 2.0 значение этого атрибута должно быть 2.0. Единственный дочерний элемент первого уровня, <channel>, включает метаинформацию о канале (описание канала новостей) и его содержимое &mdash обязательные и необязательные дочерние элементы разной вложенности. Элементы могут содержать обязательные и необязательные атрибуты, определяющие свойства и поведение элемента.

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

Элемент <channel>

Элемент <channel> определяет канал как таковой и содержит всю информацию. Сравните с RSS 1.0, где этот элемент описывает метаинформацию.

Обязательные элементы канала

  1. title — Название канала, по которому люди будут ссылаться на сервис. Если канал связан с веб-сайтом, то значение title должно совпадать с заголовком стартовой страницы сайта.
  2. link — URL веб-сайта, связанного с каналом.
  3. description — Краткое описание канала.

Необязательные элементы канала

  1. language — Язык канала, как определено W3C.
  2. pubDate — Дата публикации канала как определено в спецификации RFC 822.
  3. lastBuildDate — Время последнего изменения содержимого канала.
  4. category — Указывает одну и более категорию, к которой относится канал
  5. ttl — Время жизни: количество минут, на которые канал может кешироваться перед обновлением с ресурса.
  6. image — Изображение GIF, JPEG или PNG, которое может отображаться с каналом. Например, логотип компании.

Атрибуты элементов

В качестве примера элемента с атрибутами рассмотрим <image>. Это — дочерний элемент <channel>, содержащий три обязательных и три дополнительных элемента:

  1. url — URL изображения GIF, JPEG или PNG, представляющего канал
  2. title — Название изображения, которое будет использовано в атрибуте alt при отображении канала в виде гипертекста.
  3. link — URL сайта; изображение канала будет служить ссылкой на этот сайт.
  4. width, height — Необязательные атрибуты, задающие ширину и высоту изображения в пикселях. Максимальные размеры изображения — 144 х 400px, по умолчанию — 88 x 31px. Например:
    <image url="http://4stud.info/img/logo.gif" 
    	title="Учебные материалы для студентов АСОИУ" 
    	link="http://4stud.info" 
    	width="200px" height="60px" />
    
  5. description — Необязательное описание изображения.

Детальное описание атрибутов прочих элементов доступно на сайте разработчиков. Здесь же подробно рассмотрим элемент <item>.

Элемент <item>

Канал может содержать любое количество элементов <item>, описывающих отслеживаемую информацию. Каждый <item> может содержать (или не содержать, в зависимости от используемых дочерних элементов) заголовок сообщения, его содержание (краткое или полное), ссылку на источник, информацию об авторе и др. Все дочерние элементы <item> являются необязательными, однако по крайней мере <title> или <description> должен существовать. Перечислим некоторые элементы <item>:

Дочерние элементы <item>

  1. title — Заголовок сообщения.
  2. link — URL сообщения.
  3. description — Краткий обзор сообщения.
  4. author — Адрес электронной почты автора сообщения.
  5. category — Включает сообщение в одну или более категорий.
  6. enclosure — Описывает медиа-объект, прикрепленный к сообщению, например:
    <enclosure url="http://www.example.com/mp3/hello.mp3" length="12216320" type="audio/mpeg" />
    
  7. pubDate — Показывает, когда сообщение было опубликовано.

Полный список и подробное описание см. на сайте RSS Advisory Board. В спецификации формата приведены пояснения и рекомендации по использованию каждого из дочерних элементов <item>. Так, например, элемент <author>, который указывает адрес электронной почты автора сообщения, следует использовать, если авторов несколько. Если же автор всех сообщений единственный, то <author> в <item> лучше опустить.

Дополнительные возможности RSS 2.0

Согласно спецификации, версия 2.0 поддерживает следующие схемы в элементах <link> и <url>: http://, https://, news://, mailto: и ftp://. В предыдущих версиях поддерживались только http:// и ftp://.

В RSS 0.91 различные элементы ограничивались до 500 или 100 символов. Кроме того, в <channel> не могло быть более 15 сообщений <item>. Ограничения на длины строк отсутствуют, начиная с RSS 0.92. Агрегаторы могут налагать свои ограничения по чтению, а генераторы могут иметь опции, ограничивающие количество <item> в канале, либо длины строк.

Заявленная в спецификации, но редко используемая возможность RSS 2.0 - отправка данных из ленты. Для этого стандарт представляет специальный элемент — <textInput>, атрибуты которого определяют текст отправляемого сообщения, адрес скрипта-обработчика, надпись на кнопке Submit, заголовок.

Расширение функциональности реализовано через поддержку модулей, определенных в пространствах имен XML. Канал RSS 2.0 может содержать элементы и атрибуты, не объявленные в спецификации, только если они определены в пространствах имен. В листинге 3 использована эта возможность — подключено пространство имен <xmlns:dc>:

<RSS version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

Элементы <dc:creator> и <dc:date> в этом примере являются заимствованными.

Перспективы развития RSS

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

к библиотеке   к оглавлению   Банки данных Интернет   визуальные среды - 4GL   технологии программирования

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

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

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.

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

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution