横着者のRSS 2.0 配信ページの作成方法
昨今 RSS フィードリーダなる言葉を良く聞くようになりました。
何かと思えば、概要を配信するテキストのページのような・・・・・。試しにいろいろなブラウザで表示してみました。結構面白かったりして・・・
ということで、さっそく好奇心丸出しで作成にチャレンジしてみました。道具は横着者のサイトマップ作成方法の時のようにWindows付属のメモ帖でも、他のエディタでも、webページ作成用のツールでもなんでもかまわないと思います。
拡張子 .xml のファイルを作る事ができればそれでいいのですから。
何かと思えば、概要を配信するテキストのページのような・・・・・。試しにいろいろなブラウザで表示してみました。結構面白かったりして・・・
ということで、さっそく好奇心丸出しで作成にチャレンジしてみました。道具は横着者のサイトマップ作成方法の時のようにWindows付属のメモ帖でも、他のエディタでも、webページ作成用のツールでもなんでもかまわないと思います。
拡張子 .xml のファイルを作る事ができればそれでいいのですから。
RSS 2.0 Sample
まずサンプルを見てください。
RSS 2.0 at Harvard Law の http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared よりお借りしてきました。
RSS 2.0 at Harvard Law の http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared よりお借りしてきました。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Example Feed</title>
<description>Insert witty or insightful remark here</description>
<link>http://example.org/</link>
<lastBuildDate>Sat, 13 Dec 2003 18:30:02 GMT</lastBuildDate>
<managingEditor>johndoe@example.com (John Doe)</managingEditor>
<item>
<title>Atom-Powered Robots Run Amok</title>
<link>http://example.org/2003/12/13/atom03</link>
<guid isPermaLink="false">urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</guid>
<pubDate>Sat, 13 Dec 2003 18:30:02 GMT</pubDate>
<description>Some text.</description>
</item>
</channel>
</rss>
<rss version="2.0">
<channel>
<title>Example Feed</title>
<description>Insert witty or insightful remark here</description>
<link>http://example.org/</link>
<lastBuildDate>Sat, 13 Dec 2003 18:30:02 GMT</lastBuildDate>
<managingEditor>johndoe@example.com (John Doe)</managingEditor>
<item>
<title>Atom-Powered Robots Run Amok</title>
<link>http://example.org/2003/12/13/atom03</link>
<guid isPermaLink="false">urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</guid>
<pubDate>Sat, 13 Dec 2003 18:30:02 GMT</pubDate>
<description>Some text.</description>
</item>
</channel>
</rss>
簡単な説明― channel 要素
まず、上記のサンプルでトップの2行は宣言文ですから、これは何も考えずにコピペします。
<?xml version="1.0"?>
<rss version="2.0">
上記の2行が基本のスタイルです。文字コードの指定はありません。自動になります。
これを強制的に utf-8 などに指定する場合は以下のようになります。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
次は XML 形式文書の最初の子オブジェクトになる <channel> 要素です。
channel要素は、RSS 2.0を配信する配信元となるサイトなどの情報を示す要素です。
この要素には次のようなオプションの定義づけができます。なお、以下の項目で * は必須項目です。
以下、このサンプルに出てくるオブジェクトや要素、オプションなどの簡単な説明です。
※ オプションはこの他にも多数あります。ここではよく使われるものだけを抜粋してあります。
ここまでで、最小の項目だけということになれば、以下のようになります。
<?xml version="1.0" encoding="utf-8"?> ← 宣言1
<rss version="2.0"> ← 宣言2
<channel> ← 子オブジェクト1( channel 要素)
<title>mrs.suzu841.com</title> ← 配信元の名称
<description>雑多なサイトです</description> ← 概要
<link>http://mrs.suzu841.com</link> ← 配信元のURL
必須項目はこれだけですが、もう少し配信元の情報を付け加えてみませんか?
せめて、使用言語とか、使用したツールとか、最終更新日くらいは記述してみたいとおもうのですが。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language> ← 使用言語 ja (日本語)
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate> ← 元ファイルの最終更新日
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate> ← RSS 2.0 ファイルの最終更新日
<generator>秀丸エディタ Version 6.14</generator> ← 使用したツールの名前
<webMaster>mrs@suzu841.com</webMaster> ← サイト管理者のメールアドレス
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright> ← 著作権
配信されるファイルにこの位の配信元の情報があれば、なんとかなるかな? と思うのですが・・・
もちろん、これらの情報は必須ではないので、面倒であれば記述しなくてもいいのですが・・・。
ここまでがサイト全体の概要になります。
<?xml version="1.0"?>
<rss version="2.0">
上記の2行が基本のスタイルです。文字コードの指定はありません。自動になります。
これを強制的に utf-8 などに指定する場合は以下のようになります。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
次は XML 形式文書の最初の子オブジェクトになる <channel> 要素です。
channel要素は、RSS 2.0を配信する配信元となるサイトなどの情報を示す要素です。
この要素には次のようなオプションの定義づけができます。なお、以下の項目で * は必須項目です。
以下、このサンプルに出てくるオブジェクトや要素、オプションなどの簡単な説明です。
<channel> 要素の主なオプション |
---|
* title | 配信元となるサイトなどの名称を表記 |
* link | 配信元となるサイトなどのURLを表記 |
language | 使用言語 |
copyiright | 著作権表記 |
pubDate | 配信元ファイルの最終更新日 ( RFC 822 フォーマット形式による) |
lastBuildDate | RSS 2.0ファイルの最終更新日 ( RFC 822 フォーマット形式による) |
webMaster | サイト管理人 |
managingEditor | 編集者へのEメールアドレス |
category | 配信元の所属するカテゴリーをひとつ以上指定 |
generator | RSS 2.0 ファイル作成に使用したツール名 |
cloud | XML - RPC などを利用した更新通知サービスを利用する際に記述 |
docs | RSSの内容を記述したドキュメントの URL (通常は、RSSファイルのある場所) |
ttl | キャッシュの有効期限 |
rating | チャンネルのPICSレーティング |
skipHours | アグリゲータにスキップさせるアクセス予定時刻を記述 |
skipDays | アグリゲータにスキップさせるアクセス予定曜日を記述 |
textInput | 入力用テキストボックスを指定 |
image | GIF、JPEGまたはPNGイメージを指定 |
ここまでで、最小の項目だけということになれば、以下のようになります。
<?xml version="1.0" encoding="utf-8"?> ← 宣言1
<rss version="2.0"> ← 宣言2
<channel> ← 子オブジェクト1( channel 要素)
<title>mrs.suzu841.com</title> ← 配信元の名称
<description>雑多なサイトです</description> ← 概要
<link>http://mrs.suzu841.com</link> ← 配信元のURL
必須項目はこれだけですが、もう少し配信元の情報を付け加えてみませんか?
せめて、使用言語とか、使用したツールとか、最終更新日くらいは記述してみたいとおもうのですが。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language> ← 使用言語 ja (日本語)
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate> ← 元ファイルの最終更新日
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate> ← RSS 2.0 ファイルの最終更新日
<generator>秀丸エディタ Version 6.14</generator> ← 使用したツールの名前
<webMaster>mrs@suzu841.com</webMaster> ← サイト管理者のメールアドレス
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright> ← 著作権
配信されるファイルにこの位の配信元の情報があれば、なんとかなるかな? と思うのですが・・・
もちろん、これらの情報は必須ではないので、面倒であれば記述しなくてもいいのですが・・・。
ここまでがサイト全体の概要になります。
簡単な説明― item 要素
次は各ページの説明になります。
例えば、私のこの mrs.suzu841.com というサイトには、いろいろなページがあるわけです。 firefox のページとか、 OpenOffice 3 のページとか、サイトマップの作り方のページとか、散歩のページとか石けんとか、管理人の日々のぶちぶち日記のページとかあるわけです。それらの各ページについての情報を <item> 要素の中へ書いていきます。
ひとつのページがひとつの <item> 要素で完結します。
オブジェクト要素である <channel> の中で <item> 要素は、多数あります。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<dc:creator>mrs.suzu841.com 管理人</dc:creator>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
</item>
この <item> 要素にはいくつかのオプションがあります。
では、上の表の中から <title> , <link> , <guid> , <pubDate> , <description> を付け加えてみます。
これを実際に私のサイトに当てはめてみると以下のようになります。
<item> は、ページの分だけありますから、これをくり返していく事になります。
そうして最後は、
例えば、私のこの mrs.suzu841.com というサイトには、いろいろなページがあるわけです。 firefox のページとか、 OpenOffice 3 のページとか、サイトマップの作り方のページとか、散歩のページとか石けんとか、管理人の日々のぶちぶち日記のページとかあるわけです。それらの各ページについての情報を <item> 要素の中へ書いていきます。
ひとつのページがひとつの <item> 要素で完結します。
オブジェクト要素である <channel> の中で <item> 要素は、多数あります。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<dc:creator>mrs.suzu841.com 管理人</dc:creator>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
</item>
この <item> 要素にはいくつかのオプションがあります。
<item> 要素の主なオプション |
---|
title | ページ( item )のタイトル |
link | ページ( item )のリンク先 |
description | 概要 |
pubDate | ページの最終更新日 ( RFC 822 フォーマット形式による) |
enclosure | ページに添付してあるメディアコンテンツのURL |
comments | 関連するコメントページがあればそのURL |
author | 著者へのEメールアドレス |
category | カテゴリーをひとつ以上指定 |
source | 情報元のリンク URL |
guid | ページの識別ID(ユニークID ) ※ guid には isPermaLink 属性を持たせることができます。 この場合属性値は "true" を指定する事によって、URL をIDとすることが出来ます。 例 : <guid isPermaLink="true">http://mrs.suzu841.com/rss</guid> |
では、上の表の中から <title> , <link> , <guid> , <pubDate> , <description> を付け加えてみます。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
<title> </title>
<link> </link>
<guid isPermaLink="true"> </guid>
<pubDate> </pubDate>
<description><![CDATA[ ]]></description>
</item>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
<title> </title>
<link> </link>
<guid isPermaLink="true"> </guid>
<pubDate> </pubDate>
<description><![CDATA[ ]]></description>
</item>
これを実際に私のサイトに当てはめてみると以下のようになります。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
<title>CentOS5にFirefox2をインストール</title>
<link>http://mrs.suzu841.com/firefox/</link>
<guid isPermaLink="true">http://mrs.suzu841.com/firefox/</guid>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<description><![CDATA[ Linux CentOS 5.1 がセットアップされている実機にせめて、Firefox と OpenOffice くらいは最新バージョンにしておこうと思います。...]]></description>
</item>
<rss version="2.0">
<channel>
<title>mrs.suzu841.com</title>
<description>雑多なサイトです</description>
<link>http://mrs.suzu841.com</link>
<language>ja</language>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<lastBuildDate>Wed, 4 Jun 2008 19:11:42 +0900</lastBuildDate>
<generator>秀丸エディタ Version 6.14</generator>
<webMaster>mrs@suzu841.com</webMaster>
<copyright>>Copyright (c) 2008, [mrs.suzu841.com 管理人]</copyright>
<item>
<title>CentOS5にFirefox2をインストール</title>
<link>http://mrs.suzu841.com/firefox/</link>
<guid isPermaLink="true">http://mrs.suzu841.com/firefox/</guid>
<pubDate>Thu, 5 Jun 2008 19:36:28 +0900</pubDate>
<description><![CDATA[ Linux CentOS 5.1 がセットアップされている実機にせめて、Firefox と OpenOffice くらいは最新バージョンにしておこうと思います。...]]></description>
</item>
<item> は、ページの分だけありますから、これをくり返していく事になります。
そうして最後は、
</channel>
</rss>
で締めくくり完成です。</rss>
こんな感じになります。
これをブラウザで表示すると以下のようになります。
これをブラウザで表示すると以下のようになります。
配信する
完成した rss ファイルを保存します。横着者のサイトマップ作成方法の時と同じように、拡張子は
.xml です。ファイル名はこの場合は rss でも、rss2 でも、rss20 でも。ようは自分にこのファイルが RSS 2.0 のファイルだとわかればいいのですから。
拡張子が .xml のファイルを保存できたら、今度は配信元になる HTML ページの head 部分に記述をします。
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="ここへRSS 2.0のファイルを置く場所のURLを記述する" />
私の場合ですと、 mrs.suzu841.com の直下に置きましたから、以下のようになります。
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://mrs.suzu841.com/rss20.xml" />
こうして完成したRSS.xml のファイルと、このファイルの情報を記述した HTML ファイルを FTP します。
server に送信したら、自分のサイトのアドレスバーに のようなフィードアイコンが表示されていますでしょうか?
見るには、アドレスバーのフィードアイコンを普通にクリックして、購読を選択すれば表示してくれます。
フィードリーダに対応していないブラウザで表示すると以下のようになります。
このような時にはスタイルシートを指定しておいてあげると、そのスタイルで表示します。
ですが、2008年6月現在では、ほとんどのブラウザが対応してきているので、せっかくスタイルシートを作って指定しておいても、そのスタイルで表示をしてくれなくなっているほうが多くなりました。ですので、ここではスタイルシートについては、省略させていただきます。
なお、自分で作成した RSS ファイルがちゃんと仕様があっているかどうかを確認するには のようなところがあります。
※ オプションはこの他にも多数ありますが、ここではよく使われるものだけを抜粋してあります。
※ 参考サイト : Rss20AndAtom10Compared | Dublin Core | RFC 4287
拡張子が .xml のファイルを保存できたら、今度は配信元になる HTML ページの head 部分に記述をします。
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="ここへRSS 2.0のファイルを置く場所のURLを記述する" />
私の場合ですと、 mrs.suzu841.com の直下に置きましたから、以下のようになります。
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://mrs.suzu841.com/rss20.xml" />
こうして完成したRSS.xml のファイルと、このファイルの情報を記述した HTML ファイルを FTP します。
server に送信したら、自分のサイトのアドレスバーに のようなフィードアイコンが表示されていますでしょうか?
フィードリーダに対応していないブラウザで表示すると以下のようになります。
このような時にはスタイルシートを指定しておいてあげると、そのスタイルで表示します。
ですが、2008年6月現在では、ほとんどのブラウザが対応してきているので、せっかくスタイルシートを作って指定しておいても、そのスタイルで表示をしてくれなくなっているほうが多くなりました。ですので、ここではスタイルシートについては、省略させていただきます。
下の画像は Seamonkey で表示したものです。
どうやらRSSリーダーを持っていないようです。スタイルシートの姿で表示されました。
どうやらRSSリーダーを持っていないようです。スタイルシートの姿で表示されました。
なお、自分で作成した RSS ファイルがちゃんと仕様があっているかどうかを確認するには のようなところがあります。
※ オプションはこの他にも多数ありますが、ここではよく使われるものだけを抜粋してあります。
※ 参考サイト : Rss20AndAtom10Compared | Dublin Core | RFC 4287