Atom

概要

Atom

Webサイトの見出しや要約などのメタデータを構造化して記述するXMLベースのフォーマット。おもにサイトの更新情報を公開するのに使われている。一部のウェブログ (ブログ) やウェブログツール、RSSリーダなどがAtomに対応している。

RSSと同種の技術だが、RSSに複数の互換性のないバージョンが登場してそれぞれの支持者が対立したり、RSSの元になったRDFの仕様が煩雑なことから、まったく新しいフォーマットとしてAtomが考案された。当初は「Echo」という名称で呼ばれていたが、既存のオープンソースプロジェクトに同名のものがあったため、現在の名称になった。

RSSと同じように、Webサイトの各ページのタイトル、アドレス、見出し、要約、更新時刻などを記述することができる。Atomで情報を配信することにより、多数のWebサイトの更新情報を統一的な方法で効率的に把握することできる。

RSSと異なる試みとして、Atom対応のソフトウェアの統一的な呼び出し規約「AtomAPI」を規定している。ウェブログツールなどのプログラムがAtomAPIを実装することにより、相互に連携しやすくなる。

Atomとは - 意味/解説/説明/定義 : IT用語辞典

ファイル拡張子

ファイルの拡張子は.atomと定められていますが、実際には.xmlが使用されることもあります。そしてMIMEタイプapplication/atom+xmlと定められていますが、これも実際にはtext/xmlapplication/xmlが使われることが多いようです。

Atom Syndication Format [配信]

Atom Syndication Formatでは、情報を配信できます。これはRSSと同じです。

サンプル

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>フィードのタイトル</title>
  <subtitle>フィードの説明</subtitle>
  <id>abcd:1234</id>
  <link href="http://example.com/" />
  <author>
    <name>フィードの著者</name>
  </author>
  <updated>2013-01-01T00:00:00+09:00</updated>

  <entry>
    <title>エントリー1のタイトル</title>
    <summary>エントリー1の要約</summary>
    <id>e1</id>
    <link href="http://example.com/item1.html" />
    <updated>2013-01-01T01:00:00+09:00</updated>
  </entry>
  <entry>
    <title>エントリー2のタイトル</title>
    <id>e2</id>
    <updated>2013-01-01T02:00:00+09:00</updated>
  </entry>
</feed>
Atomのサンプル

要素

feed要素
要素 説明 要素の数
0 1 2以上
author フィードの著者 ※1
category フィードに関連づけられたカテゴリー
contributor フィードに貢献した人
generator フィードの生成に使用されたエージェント ×
icon フィードを象徴する画像 (縦横比1:1で小さいサイズ) ×
logo フィードを象徴する画像 (縦横比2:1) ×
id フィードの永久に一意な識別子 × ×
link フィードからWebリソースへの参照 ※2
rights フィードの権利に関する情報 ×
subtitle フィードの説明 ×
title フィードのタイトル × ×
updated フィードに重要な変更が加えられた日時 × ×
  • ※1 すべてのentry要素がauthor要素を含む場合
  • ※2 ただし、rel="self"のlink要素を持つことが推奨される
entry要素
要素 説明 要素の数
0 1 2以上
author エントリーの著者 (feed要素と同じ) ※1
category (feed要素と同じ)
content (feed要素と同じ) ×
contributor (feed要素と同じ)
id (feed要素と同じ) × ×
link (feed要素と同じ) ※2
published エントリーが生成された日時 ×
rights (feed要素と同じ) ×
source エントリーの元となるフィードの情報 ×
summary エントリーの要約、抜粋 ※3 ×
title (feed要素と同じ) × ×
updated (feed要素と同じ) × ×
  • ※1 feed要素がauthor要素を含む場合
  • ※2 content要素を持つ場合
  • ※3 src属性を持ったcontent要素を含まない場合

author

<author>
  <name></name>
  <uri></uri>
  <email></email>
</author>

updated

日時はRFC 3339の形式で記述します。それは、たとえば

<updated>2013-01-01T00:00:00+09:00</updated>

のような形式です。

Atom Publishing Protocol (AtomPub / Atom API) [出版]

Atom Publishing Protocolでは、それに対応したシステムに対して、外部から情報を送受信できます。