![]() Логотип Atom (но пользователи больше привыкли к логотипу RSS) |
Название Atom применяется к двум связанным веб-стандартам: Atom Syndication Format и Atom Publishing Protocol.
Формат Atom был разработан как альтернатива RSS, с целью устранения его недостатков и добавления отсутствующих в этом формате возможностей. За короткое время Atom получил статус стандарта W3C и IETF (Internet Engineering Task Force), спецификация Atom 1.0, «The Atom Syndication Format», была опубликована в RFC 4287 в декабре 2005 г, а «The Atom Publishing Protocol» — в RFC 5023 в октябре 2007 г.
Листинг 1. Краткий фид Atom с одним элементом
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <link href="http://example.org/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name>John Doe</name> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text</summary> </entry> </feed>
Листинг 2. Расширенный фид Atom с одним элементом
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">dive into mark</title> <subtitle type="html"> A <em>lot</em> of effort went into making this effortless </subtitle> <updated>2005-07-31T12:29:29Z</updated> <id>tag:example.org,2003:3</id> <link rel="alternate" type="text/html" hreflang="en" href="http://example.org/"/> <link rel="self" type="application/atom+xml" href="http://example.org/feed.atom"/> <rights>Copyright (c) 2003, Mark Pilgrim</rights> <generator uri="http://www.example.com/" version="1.0"> Example Toolkit </generator> <entry> <title>Atom draft-07 snapshot</title> <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/> <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/> <id>tag:example.org,2003:3.2397</id> <updated>2005-07-31T12:29:29Z</updated> <published>2003-12-13T08:29:29-04:00</published> <author> <name>Mark Pilgrim</name> <uri>http://example.org/</uri> <email>f8dy@example.com</email> </author> <contributor> <name>Sam Ruby</name> </contributor> <contributor> <name>Joe Gregorio</name> </contributor> <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/"> <div xmlns="http://www.w3.org/1999/xhtml"> <p><i>[Update: The Atom draft is finished.]</i></p> </div> </content> </entry> </feed>
Как видно из примеров в листингах 1 и 2, формат Atom можно использовать как для описания простых новостных лент, так и для каналов со сложной структурой. При этом стандарт разработан так, чтобы его можно было представить как в человеко-, так и в машинно-читаемом виде.
Корневым элементом в документе Atom является <feed>. Он содержит метаданные о канале (адрес, название, авторство и т.д.) и любое количество элементов <entry>, в которых и помещены новости. Элементы канала бывают следующих типов: обязательные, рекомендуемые и необязательные. При этом они могут иметь обязательные или опциональные атрибуты и вложенные элементы.
Обязательные элементы
<id>
— Идентификатор фида, постоянный URI.
<title>
— Название канала. Не может быть пустым.
<updated>
— Дата последнего обновления в формате RFC 3339.
<updated>2003-12-13T18:30:02Z</updated>
Рекомендуемые элементы
Нижеперечисленные элементы не являются обязательными, но их использование желательно для обеспечения большей информативности.
<author>
— Имя автора. Множественное авторство может быть указано в элементах entry
<author> <name>John Doe</name> <email>JohnDoe@example.com</email> <uri>http://example.com/~johndoe</uri> </author>
<link>
— Адрес связанного сайта. Тип связи определяется в атрибуте rel
.
<link rel="self" href="/feed" />
Необязательные элементы
<category>
— Задает категории, к которым относится канал. Элемент feed
может включать несколько элементов category
.
<category term="networking"/>
<generator>
— Название программы, с помощью которой собран канал. Может использоваться, например, для отладки. Атрибуты uri и version
необязательные.
<generator uri="/myblog.php" version="1.0"> Example Toolkit </generator>
<icon>
— Маленькое изображение, пиктограмма канала.
<icon>/icon.jpg</icon>
<logo>
— Большое изображение, логотип канала.
<logo>/logo.jpg</logo>
<rights>
— Информация об авторском и смежных правах.
<rights> © 2005 John Doe </rights>
<subtitle>
— Человеко-читаемое описание или подзаголовок канала.
<subtitle>all your examples are belong to us</subtitle>
Примером элемента <entry> является отдельный пост в блоге или комментарий в форуме.
Обязательные элементы
<id>
— Уникальный и постоянный идентификатор сообщения. Два сообщения могут иметь одинаковый идентификатор, если они представляют одну и ту же новость, но в разное время.
<id>http://example.com/blog/1234</id>
<title>
— Заголовок сообщения. Не может быть пустым.
<title>Atom-Powered Robots Run Amok</title>
<updated>
— Дата последней модификации сообщения.
<updated>2003-12-13T18:30:02-05:00</updated>
Рекоменуемые элементы
<author>
— Имя автора (авторов) сообщения.
<author> <name>John Doe</name> </author>
<content>
— Текст сообщения или ссылка на полный текст.
<content>complete story here</content>
<link>
— Страница, связанная с текстом сообщения.
<link rel="alternate" href="/blog/1234"/>
Необязательные элементы
<category>
— Одна или несколько категорий, к которым относится сообщение.
<category term="technology"/>
<contributor>
— Имя соавтора новости. Может быть несколько элементов contributor
<contributor> <name>Jane Doe</name> </contributor>
<published>
— Дата и время создания или первой публикации сообщения.
<published>2003-12-13T09:17:51-08:00</published>
<source>
— Источник сообщения. Если entry
копируется из одного канала в другой, то все дочерние элементы entry
копируются также.
<source> <id>http://example.org/</id> <title>Fourty-Two</title> <updated>2003-12-13T18:30:02Z</updated> <rights>© 2005 Example, Inc.</rights> </source>
Подробное описание всех перечисленных элементов канала приведено в спецификации Atom.
Модель содержания
Atom представляет возможность собирать и представлять информацию в различных форматах, таких как обычный текст, HTML, XHTML, XML, двоичные данные в формате Base64 и ссылки на внешнее содержание в документов (например, .pdf), видеофайлов, аудиопотоков и еще ряда других.
Представление даты и времени
Для представления даты и времени Atom использует международный стандарт, описанный в RFC 3339 (из состава стандартов ISO 8601).
Интернационализация
Atom имеет возможность объединить в одном канале информацию на различных языках. Это обеспечивается стандартным атрибутом xml:lang и позволяет делать человеко-читаемыми различные части фида.
Модульность
Спецификация Atom изначально разрабатывалась как открытая и модульная. Это позволяет расширять формат путем подключения внешних модулей, с одной стороны, а с другой — экспортировать возможности Atom во внешние приложения и другие форматы. К примеру, модули RSS 1.0 или RSS 2.0 можно использовать в канале Atom.
Публикация информации
Atom Publishing Protocol (AtomPub) — протокол прикладного уровня для публикации и редактирования веб-ресурсов. Он базируется на представлении данных в формате Atom, в качестве транспорта использует протокол HTTP. AtomPub может использоваться в rich-клиентах (например, в системах управления контентом) или самостоятельных приложениях для управления информацией на веб-сайтах.
Дальнейшее развитие стандарта Atom разработчики видят во внесении большей ясности в описание и создании модулей расширения.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.
|
![]() |