RSSやATOMはフィードというサイトの更新情報を配信する仕組みでテキスト配信のみのRSS1.0と文字の装飾やリンク設置が可能なRSS2.0、RSS2.0と似ていながらよりシンプルな仕様のATOMがあります。それぞれコピーして使えるサンプルフォーマットを紹介して配信するための構造や要素について解説します。

RSSとATOMの違いと特徴

配信する情報内容と質によって、3種類のフィードがある

配信する情報内容と質によって、3種類のフィードがある

RSSやATOMはWebを通じて各種コンテンツを配信するための文書フォーマットのことを指し、まとめてフィード(feed)として呼ばれることもあります。RSSとATOMではフォーマットが違うのはもちろんのこと、配信できる情報内容と質も異なります。

RSSはさらにRSS1.0とRSS2.0に分類することができて、ATOMと合計で3種類の配信フォーマットがありますが、RSS2.0はRSS1.0の後継フォーマットというわけではなく、開発企業も仕様も全く異なる別のフォーマットです。むしろRSS2.0とATOMの方が仕様が似通っている部分もあります。

RSSとATOMの2種類のフォーマットがあるのではなく、配信する情報内容と質によってRSS1.0、RSS2.0、ATOMの3種類のフィードがあると考えれば良いでしょう。

RSS1.0はテキストのみ配信

RSS1.0はRSS-DEV Working Groupによって開発されたフォーマットでRDFをベースに制定、2000年12月にリリースされました。

RSS1.0は3つのフォーマットの中でも最もシンプルで配信できる情報はテキストのみで文字の色を変えたり、リンクを設置したりはできません。ただし、記述方法がシンプルなのでコードが書けます。

代表的なサービスとして、はてなブックマークのRSS機能がRSS1.0を使用しています。

RSS2.0は文字の装飾やリンク設置が可能

RSS2.0はUserLand Softwareによって開発されたフォーマット(後にハーバード大学に移管)で、シンプルなテキストだけではなく文字の装飾やリンクの設置にも対応した配信フォーマットです。RSS1.0ではなくRSS0.91系から発展した規格で2002年8月にリリースされました。

さまざまな表現が可能なのでコンテンツ配信向けフォーマットとして活用できます。

ATOMはシンプルな仕様

RSS2.0よりシンプルに使いやすくしたフィード形式として開発されたのがATOMです。後継規格ではありませんが、RSS2.0をベンチマークされた策定された仕様のためRSS2.0と似通った部分も存在します。

ATOMとRSSの最大の違いはATOMには配信と編集の2つのフォーマットが用意されていることです。ATOMには、RSSと同様にコンテンツを配信するためのフィードフォーマットである「Atom配信フォーマット(The Atom Syndication Format)」とコンテンツを編集するためのプロトコルの「Atom出版プロトコル」(The Atom Publishing Protocol)」(Atom API)の2種類のフォーマットがあります。

また、RSSとは異なり標準化団体のIETFが仕様を管理しているので、何らかの団体が独自に仕様を変更したり、後から特許問題で訴えられたりするといったリスクもありません。

RSSとATOMの配信方法

RSS1.0、RSS2.0、ATOMではそれぞれ配信の設定方法が異なり、RSS1.0は表現の幅は限定されているけれども設定方法はシンプル、RSS2.0、ATOMはさまざまな表現が可能な反面コードは少し長くなっています。

RSS1.0の配信設定方法

01 <?xml version="1.0" encoding="UTF-8"?>
02 <rdf:RDF xmlns="http://purl.org/rss/1.0/"
03 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
04 xmlns:dc="http://purl.org/dc/elements/1.1/"
05 xmlns:content="http://purl.org/rss/1.0/modules/content/"
06 xml:lang="ja">
07
08 <channel rdf:about="RSSのURL">
09 <title>告知するタイトル</title>
10 <link>Webサイトへのリンク</link>
11 <description>サイト・更新の内容の内容を説明する</description>
12 <dc:date>RSSの最終更新日時</dc:date>
13 <dc:language>ja</dc:language>
14 <items>
15 <rdf:Seq>
16 <rdf:li rdf:resource="記事AのURL" />
17 <rdf:li rdf:resource="記事BのURL" />
18 </rdf:Seq>
19 </items>
20 </channel>
21
22 <item rdf:about="記事AのURL">
23 <title>記事Aのタイトル</title>
24 <link>記事BのURL</link>
25 <description><![CDATA[記事Aの内容]]></description>
26 <dc:creator>記事Aの執筆者名</dc:creator>
27 <dc:date>記事Aの作成日時</dc:date>
28 </item>
29
30 <item rdf:about="記事BのURL">
31 <title>記事Bのタイトル</title>
32 <link>記事BのURL</link>
33 <description><![CDATA[記事Bの内容]]></description>
34 <dc:creator>記事Bの執筆者名</dc:creator>
35 <dc:date>記事Bの作成日時</dc:date>
36 </item>
37 </rdf:RDF>

1行目から6行目までは固定的に記述しなければなりません。

8行目から20行目までWebサイト全体の更新内容について記述しています。12行目のRSSの最終更新日時と15行目から18行目の更新された記事のURL以外はほとんど変わらないと考えられるのでフォーマット化しておいても良いでしょう。

なお、今回はA,Bと二記事の更新を伝える前提でコードを記述していますが、<rdf:li rdf:resource=”” />を増やせばさらにたくさんの記事の更新を伝えられます。

22行目から28行目、30行目から36行目ではそれぞれの記事の更新内容について記述しています。

RSS2.0の配信設定方法

01 <?xml version='1.0' encoding='UTF-8'?>
02 <rss version='2.0'>
03
04 <channel>
05 <title>告知するタイトル</title>
06 <link> Webサイトへのリンク</link>
07 <description>サイト・更新の内容の内容を説明する</description>
08
09 <item>
10 <title>記事Aのタイトル</title>
11 <link>記事AのURL</link>
12 <description>記事Aの内容</description>
13 <pubDate>記事Aの作成日時</pubDate>
14 </item>
15
16 <item>
17 <title>記事Bのタイトル</title>
18 <link>記事BのURL</link>
19 <description>記事Bの内容</description>
20 <pubDate>記事Bの作成日時</pubDate>
21 </item>
22
23 </channel>
24 </rss>

RSS1.0のように複雑な記述をする必要は無く、2行目のようなシンプルな記述で大丈夫です。<channel>も<item>の部分の記述もRSS1.0と比較するとWebサイトをコーディングするのに近い感覚で記述できます。

Atomの配信設定方法

01 <?xml version='1.0' encoding='UTF-8'?>
02 <feed xmlns='http://www.w3.org/2005/Atom' xml:lang='ja'>
03
04 <id>tag:ATOMid</id>
05 <updated>更新日時</updated>
06 <title type="text">告知するタイトル</title>
07 <subtitle type="html">サブタイトル</subtitle>
08 <author>
09 <name>名前</name>
10 <email>問い合わせ先メールアドレス</email>
11 </author>
12
13 <entry>
14 <id>ATOMid</id>
15 <published>作成日時</published>
16 <updated>更新日時</updated>
17 <title type="text">記事Aのタイトル</title>
18 <content type="html">記事Aの内容</content>
19 <author>
20 <name>執筆者</name>
21 <email>連絡先メールアドレス</email>
22 </author>
23 </entry>
24
25 <entry>
26 <id>ATOMid</id>
27 <published>作成日時</published>
28 <updated>更新日時</updated>
29 <title type="text">記事Bのタイトル</title>
30 <content type="html">記事Bの内容</content>
31 <author>
32 <name>執筆者</name>
33 <email>連絡先メールアドレス</email>
34 </author>
35 </entry>
36
37 </feed>

ATOMフィードを利用する場合は<feed>タグを使用します。type属性をtxtにすれば通常のテキスト、htmlにすればhtmlテキストとして大きさや色を変えるといった文字に装飾を加えられます。

具体的に更新した記事の内容については<entry>タグで記述します。13行目から23行目、25行目から35行目が記事の内容となっています。

RSSとATOMの違いを理解して配信設定

RSS1.0、RSS2.0、ATOMの3種類のフィードによって、それぞれ配信できる情報内容や記述方法は異なります。ただし、求めているコンテンツ配信ができるのならばRSS1.0、RSS2.0、ATOMのそれぞれの違いは大きく意識する必要はないでしょう。

RSS1.0はテキストのみしか配信できないということで他のフィードより大きな制限がありますが、RSS2.0とATOMも間に配信できる情報に大きな違いがあるわけではありません。また、フィード作成についても慣れればどの方式でもサンプルが書けるようになりますし、作成ソフトを活用すればそれぞれの違いを気にすることなく作成可能です。

各フィードによって大きな違いはないので自分が使用しやすいと思えるフィードを使用してユーザーに更新情報を配信すれば良いでしょう。