[17] [DFN@en[[RUBY[Atom][アトム]]]] は、 [[Web]] 上の[[日記]]や[[ニュース]]のような、
関連する一連の情報群を伝達するための文書形式です。 [[Atom]]
では、一連の情報群を[DFN@en[フィード]]と呼んでいます。また、
[[フィード]]を構成する個々の単位を、[DFN@en[エントリー]]と呼んでいます。

[[エントリー]]には、[[本文]]のほかに、[[題名]]や[[日付]]などの関係する情報
([DFN[メタ情報]]) を含めることができます。奇妙に感じるかもしれませんが、
[[メタ情報]]だけを[[エントリー]]に入れて、[[本文]]は入れなくても構いません。
その代わりに、[[本文]]がどこにあるのかを書いておきます。そうすれば、
[[Atom]] [[フィード]]を[[ニュース]]の[[見出し]]の提供に使うことができます。

[[Atom]] は、既に様々な場所で様々な形で使われています。 [[Web]]
上の多くの[[日記]]サイトが [[Atom]] [[フィード]]を提供していますから、
読者は [[Webブラウザ]]ではなく [[Atom]] 
対応ソフトウェアを使って、より快適に[[日記]]の記事を読むことができます。
[[ニュース]]・サイトの [[Atom]] [[フィード]]を [[Atom]]
に対応した [[Webブラウザ]]に登録すれば、 
[[Webブラウザ]]にいつも最新の[[ニュース]]記事への[[リンク]]を表示させることができます。
[[Web]] 上の気の利いた[[掲示板]]システムが提供している [[Atom]] 
[[フィード]]を [[Atom]] [[フィード]]に対応した[[電子メイル]]のソフトウェアに登録すれば、
[[メイリング・リスト]]と同じように[[掲示板]]への投稿を読み書きできます。

このように幅広い応用を持つ [[Atom]] ですが、実はその構造は至って簡単です。

* Atom の主要な概念

[13] [[Atom]] の[[文書]]、すなわち [[Atom文書]]には、[[エントリー]]を表す
[[Atomエントリー文書]]と[[エントリー]]の集合である[[フィード]]を表す
[[Atomフィード文書]]があります。また、 [[Atom]] の出版プロトコルである
[[AtomPub]] で利用される[[文書]]、すなわち [[AtomPub文書]]もあります。

[14] [[Atom]] を利用して編集を行う [[API]]、 [[AtomPub]] がありますが、
[[Atom]] はその他のプロトコルと共に用いることもできます。実際のところ
[[Atom]] が最も利用されているのは普通の [[HTTP]] での[[フィード]]の形式としてです。

[16] [[削除済みエントリー文書]]というものもあります。

* Atom 仕様

[18] [[Atom]] は次の仕様群によって構成されています。
[FIG(list middle)[
- [[Atom 0.3]]
- [[Atom 1.0]] ([[RFC 4287]])
- [[Atom Threading Extensions]] ([[RFC 4685]])
- [[Atom License Extension]] ([[RFC 4946]])
- [[Feed Paging and Archiving]] ([[RFC 5005]])
- [[Atom Publishing Protocol]] ([[RFC 5023]])
- [[Version Navigation Link Relations]] ([[RFC 5829]])
- [[Web Linking]] ([[RFC 5988]])
- [CODE(XMLe)@en[[[at:deleted-entry]]]] ([[RFC 6721]])
]FIG]

[19] この他にも数個の [[Internet Draft]] が2005年頃を中心に発行されていたようですが、ほとんどが
[[RFC]] にならず実装もされずに破棄されているようです。

[20] 次の仕様は [[Atom]] の一部ではありませんが、 [[Atom]] 
の一部または全部を流用するものです。
[FIG(short list)[
- [[DataRSS]]
- [[Atom+RDFa 1.1]]
- [[OData Atom Format]]
- [[RSS 2.0]] (>>10)
- [[hAtom]]
- [[CMIS]]
]FIG]

* 名前空間による拡張

[21] 次の [[Atom]] 拡張があります。
[FIG(table)[
:prefix: 典型的な[[名前空間接頭辞]]
:url: [[名前空間URL]]
:0.3: [[Atom 0.3]]
:1.0: [[Atom 1.0]]
:desc: 説明

:url: [CODE(URI)[[[http://sindice.com/vocab/fields#]]]]
:1.0: ○

:prefix:[CODE(XML)@en[[[g]]]]
:url:[CODE(URI)@en[[[http://base.google.com/ns/1.0]]]]
:0.3: ○
:1.0: ○

:prefix:[CODE(XML)@en[[[opds]]]]
:url:[CODE(URI)@en[[[http://opds-spec.org/2010/catalog]]]]
:1.0: ○

:prefix: [CODE[[[ore]]]]
:url:[CODE(URI)@en[[[http://www.openarchives.org/ore/terms/]]]]
:desc: [[ORE]]
:1.0: ○

:prefix: [CODE[[[oreatom]]]]
:url: [CODE(URI)@en[[[http://www.openarchives.org/ore/atom/]]]]
:desc: [[ORE]]
:1.0: ○
]FIG]

* RSS での利用

[10] [CITE@en[RSS Best Practices Profile]] ([TIME[2008-11-21 15:11:45 +09:00]] 版) <http://www.rssboard.org/rss-profile#namespace-elements-atom>
によれば、 [[RSS 2.0]] [[文書]]中で [[Atom]] の[[要素]]を使うことができます。

;; [11] 重複する機能を持つ[[要素]]や[[属性]]は禁止した方がいいと思うのですが。。。
(一応重複する場合は [[RSS]] を使う[['''べき''']]、という推奨はありますが、
何と何が重複するのかは明記されていません。)

[12] [[Atom]] の[[要素]]が [[RSS 1.0]] [[文書]]で使われることもありますが、
大抵は [[RDF/XML]] 構文に違反しています ([CODE(XMLe)@en[[[link]]]] [[要素]]の[[属性]]など)。

* RSS との関係

[22] [[Atom]] は 「[[RSS]]」と称する競合仕様の乱立の中で、
新たなる大本命として登場し開発が進められました。 [[IETF]]
での (よくある) 長年の開発の後に完成し [[Web 2.0]] サービスを中心に普及しましたが、
既存の [[RSS]] を置き換えるには至らず、新たな [[RSS]] のバリエーションを増やすだけに終わりました。

[24] ほとんどの[[フィードリーダー]]は、 [[RSS]] にも [[Atom]] にも対応しています。
(一方のみに対応するのは[[Web互換]]とはいえません。)

[25] [[ブログ]]などでは、 [[RSS]] と [[Atom]] の両方が提供されていることもあります。

[23] >>10 のように、 [[Atom]] の一部機能を [[RSS]] と組み合わせて使うこともあります。

[26] [[Web 2.0]] ブームの収束と [[XML]] の衰退により、 [[RSS]] も [[Atom]]
も含めた[[フィード]]全体が使われなくなってきています。 [[RSS]] も [[Atom]]
もどちらも開発が停止しており、今後共に緩やかに死んでいくかもしれません。

* 関連

[15] [[Metalink/XML]] は[[マーク付け言語]]としても仕様書の書き方も [[Atom 1.0]]
の影響を受けています。 (謝辞にも明記されています。)

* メモ

[1]
[CITE[Atom in OWL Home Page]] <http://www.semtext.org/atom/>
([[名無しさん]])

[2]
[CITE[AtomEnabled.org]] <http://www.atomenabled.org/>
([[名無しさん]])

[3]
[CITE[FrontPage - Atom Wiki]] <http://www.intertwingly.net/wiki/pie/FrontPage>
([[名無しさん]])

[4]
''Joe Gregorio | BitWorking | Projects | Atom'' <http://bitworking.org/projects/atom/>
([[名無しさん]])

[5]
''Atompub Status Pages'' <http://tools.ietf.org/wg/atompub/>
([[名無しさん]])

[6]
[CITE[phil ringnalda : Who knows a <title> from a hole in the ground?]] <http://weblog.philringnalda.com/2005/12/18/who-knows-a-title-from-a-hole-in-the-ground>
([[名無しさん]] [WEAK[2006-01-23 23:53:52 +00:00]])

[7]
[CITE[Universal Subscription Mechanism]] <http://www.kbcafe.com/rss/usm.html>
([[名無しさん]])

[8]
[CITE[AbderaProposal - Incubator Wiki]] <http://wiki.apache.org/incubator/AbderaProposal>
([[名無しさん]] [WEAK[2006-05-27 13:37:23 +00:00]])

[9]
[CITE@en-US[IPR Details - Google Inc.'s Statement about IPR related to RFC 5023 and RFC 4287]] ([TIME[2008-04-02 09:03:10 +09:00]] 版) <https://datatracker.ietf.org/ipr/942/>
([[名無しさん]])