RSS2.0仕様書を適当な日本語に訳してみる

| トラックバック(1)

RSS 2.0 Specificationを稚拙ながらも和訳してみる。

RSS2.0について

RSS(Really Simple Syndication)はWebコンテンツのシンジケートフォーマットです。
RSSはXMLの派生言語です。
すべてのRSSファイルはW3Cが定めるによるXML1.0規格と一致します。

RSSバージョン履歴

RSSのルートノード<rss>はversion属性を持ちます。
version属性の値は、それぞれのRSSドキュメントのバージョンにしたがって定められます。

<rss>エレメントは、チャンネル(メタデータ)とコンテンツ情報を含むの1つの<channel>を子要素として持ちます。

サンプルファイル

Note: 上記URLに常にファイルが存在するとは限りません。


channel要素(Required)

要素名 概要
title チャンネル(RSSフィード)の名前です。 HTMLからRSSを生成している場合、HTMLのtitleタグの値と同じものにすべきでしょう。 GoUpstate.com News Headlines
link RSSフィードの発行元URLを記述します。 http://www.goupstate.com/
description チャンネルの概要を記述します。 The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site.

channnel要素(Optional)

要素名 概要
language チャンネルを記述している言語です。 アグリゲータやリーダが記述言語を判断する際に利用されます。 以下の値を使用することができます。 en-us
copyright チャンネル内のコンテンツに関する著作権情報を記述します。 Copyright 2002, Spartanburg Herald-Journal
managingEditor コンテンツの編集責任者へのEメールアドレス。 geo@herald.com (George Matesky)
webMaster 技術的問題などに関する責任者へのEメールアドレス。 betty@herald.com (Betty Guernsey)
pubDate チャンネル(RSSフィード)の発行日時です。 チャンネルの内容が変化するたびに更新します。 日時のフォーマットは、RFC822の日時に関する仕様に従います。 Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate チャンネルの内容が最終的に変更された日時です。 Sat, 07 Sep 2002 09:42:31 GMT
category チャンネルが所属するカテゴリを1つ以上指定します。 後述する<item>要素に属する<category>と同規則です。 <category>Newspapers</category>
generator チャンネル生成に使用したツール名です。 MightyInHouse Content System v2.3
docs RSSが何かということを記述したドキュメントを指し示すURLです。 右記URLで問題ないでしょう。 http://blogs.law.harvard.edu/tech/rss
cloud XML-RPCなどを利用した更新通知サービスを利用する際に記述します。 <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
ttl キャッシュの有効期限です。 <ttl>60</ttl>
image チャンネルで表示することができるGIF、JPEGまたはPNGイメージを指定します。  
rating チャンネルのPICSレーティングです。  
textInput チャンネルで表示することができる入力用テキストボックスを指定します。  
skipHours アグリゲータにスキップさせるアクセス予定時刻を記述します。  
skipDays アグリゲータにスキップさせるアクセス予定曜日を記述します。  

image要素

<image>は3つの必須子要素と任意子要素を持つ<channel>の任意子要素です。

Reauired
<url>はGIF/JPEG/PNGいずれかの形式のチャンネルをあらわす画像へのURLです。
<title>は画像の概要を表し、チャンネルがHTMLで表示された場合に、<img>タグのALT属性に利用されます。
<link>はサイトへのURLです。

Optional
<width>と<height>は画像の幅と高さをピクセルで表します。
<description>はHTML表示された際に画像の周りに表示されるテキストです。


  • Maximum value for width is 144, default value is 88

  • Maximum value for height is 400, default value is 31

cloud要素

HTTP-POST、XML-RPCまたはSOAP1.1で実行することができるrssCloudインタフェースを支持するウェブサービスを指定します。
例)<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc" />

この要素とrssCloudインタフェースの完全な説明がここにあります。

ttl要素

ソースからリフレッシュされるまでキャッシュする時間(分)を指定することができます。
これによって、Gnutellaのようなファイル共有ネットワーク上でRSSを管理することが可能になります。

例) <ttl>60</ttl>

textInput

4つの必須子要素を持ちます。

<title> -- 送信ボタンのラベルです。
<description> -- 入力欄の説明文です。
<name> -- 入力オブジェクトの名称です。
<link> -- 入力フォームのデータを処理するCGIスクリプトのURLです。


item要素

チャンネルは複数の<item>要素を含みます。
itemは新聞や雑誌の記事のようなものです。
だとすれば、descriptionは記事の要約にあたるでしょう。
もしかしたら、descriptionが完全な文章であるかもしれません。
そのとき、HTML文章であることも認められています。
item要素には、最低1つのtitle要素かdescription要素が必要です。

要素名 概要
title itemのタイトル Venice Film Festival Tries to Quit Sinking
link itemのリンク先 http://nytimes.com/2004/12/07FEST.html
description 要約 Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.
author 著者のEメールアドレスなど  
category itemが所属するカテゴリーを1つ以上  
comments itemに関連するコメントページのURL  
enclosure itemに添付されるメディアコンテンツのURL  
guid itemのユニークなID  
pubDate itemが発行された日時  
source itemの元になったコンテンツの情報L  

source要素

itemが属するchannelが持つのtitle要素の値と、XMLizationへのリンクをurl属性として持ちます。

例)<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>

この要素の目的はニュースitemの生成元についてピーアールするためにクレジットをリンクに伝播することです。
アグリゲータのポストコマンドにそれを使用することができます。
アグリゲータからウェブログオーサリングツールまでitemを進めるとき、自動的に生成されるべきです。

enclosure要素

enclosure要素を利用すると、RSSフィードにメディアコンテンツを含めることができます。
<enclosure />には3つの必須属性があります。
urlはメディアコンテンツのHTTPでのURL。
lengthはメディアコンテンツのbyte数。
typeはメディアコンテンツの標準MIMEタイプ。.

例:<enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" />

利用例がここにあります。

category要素

domainという特定の分類をあらわす任意属性を1つ持ちます。
要素の値は階層ごとにスラッシュで区切られた文字列です。
The value of the element is a forward-slash-separated string that identifies a hierarchic location in the indicated taxonomy.
プロセッサはカテゴリの解釈のためにコンベンションを設立するかもしれません。

例)
<category>Grateful Dead</category>
<category domain="http://www.fool.com/cusips">MSFT</category>

pubDate要素

itemが発行された日付です。
この値が未来であった場合、アグリゲータはこのitemを無視するかもしれません。

例)<pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>

guid

guidはグローバルかつユニークな識別子を表します。
それはユニークなitemを特定する文字列です。
存在しているとき、アグリゲータは、itemが新しいかどうか決定するためにこの文字列を使用するかもしれません。

例)<guid>http://some.server.com/weblogItem3207</guid>

guidに対する規則はありません。
そのため、アグリゲータはguidを文字列として認識しなければなりません。

guid要素にはisPermaLinkという属性を持たせることができます。
このisPermaLinkの値がtrueである場合、item要素が持つdescription要素の完全なドキュメントへのpermalinkであると仮定するかもしれません。

例)<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>

isPermaLinkのデフォルト値はtrueです。
isPermaLinkの値がfalseであった場合、guid要素の値をurlであると解釈しないかもしれません。

comments

存在しているなら、それはitemのためのコメントページのurlです。

例)<comments>http://ekzemplo.com/entry/4403/comments</comments>

詳細

author

itemの著者のEメールアドレスです。

例)<author>lawyer@boyer.net (Lawyer Boyer)</author>


コメント

RSSにおいて、link要素とurl要素の先頭が空白文字であることは許されません。
これらの要素のデータはhttp://, https://, news://、mailto:, ftp://などのIANAによって登録されたURIスキーマで始まらなければなりません。
RSS2.0以前では、仕様としてhttp://とftp://のみ許可されていましたが、実際には他のURIスキーマも使われており、アグリゲータによってはサポートされます。
ただし、アグリゲータがすべてのURIスキーマをサポートすると仮定するべきではありません。

RSS0.91では、様々な要素は500か100のキャラクタに制限されます。
また、0.91ではchannel内のitem数が15未満でなければなりません。
0.92以上では文字数およびXML-levelの制限はありません。
プロセッサによっては制限が生じる可能性があります。

RSS 2.0では、チャンネルレベルカテゴリー特徴を使用して、チャンネルをカタログを作るシステムでのその識別子にリンクするための準備は上に記述されて行なわれます。
例えば、チャンネルをそのSyndic8識別子にリンクし、領域「Syndic8」と共に、channelの子要素としてかcategory要素を含んでおり、Syndic8データベース中のあなたのチャンネルのために確認者を評価することために。
ニュースをスクリプトにするための適切なカテゴリー要素は <category domain="Syndic8">1765</category>。

guid要素に関するFAQ。
link要素と比較します。
同じものではありませんか?
いくつかのコンテンツではそのとおりであり、ある場面ではそうではありません。
いくつかのシステムでは、link要素はitemへのpermalinkです。
しかしながら、他のシステムでは、それぞれ(item要素)が、より長い記事の構文です。
そして、link要素は記事を示します。
そして、guid要素はウェブログエントリーへのpermalinkです。

すべての場合では、あなたがguidを供給して、できればそれをpermalinkにすることをお勧めします。
編集する事があったとしても、これは、アグリゲータがitemを繰り返さない事を可能にします。


RSSの拡張

RSSは1999年に生み出され、簡単で分かり易い形式になるように比較的穏やかな目標で努力されています
ポピュラーな形式になった後に、開発者はW3Cによって指定されるように名前空間で定義されたモジュールを使用することでそれを拡張しようとしました。

簡単な規則に従って、RSS2.0はその能力を加えます。
RSSフィードはそれらの要素が名前空間で定義される場合にだけこのページで説明されなかった要素を含むかもしれません。

本書で定義された要素はRSS2.0が以下の意味における旧バージョンと互換性があったままで残ることができるように自分たちで名前空間のメンバーではありません。
--バージョン0.91か0.92ファイルは有効な2.0ファイルです。
名前空間にRSS2.0の要素があるなら、この規制は無視されるためバージョン0.9xファイルは有効な2.0ファイルでないでしょう。

トラックバック(1)

Soh-Web MovableTypeを中心にWeb制作のメモ 趣味のCG制作 - MT4.2のRSSの配信方法を変える (2010年3月28日 23:28)

このブログを作り始めた時からどうにもRSSの調子が良くないと思ってまして。 何故かFireFoxでうまく受信できなかったんですよ。 で、RSS配信用のxm... 続きを読む

プロフィール

このブログ記事について

このページは、koshigoeが2005年5月24日 15:56に書いたブログ記事です。

ひとつ前のブログ記事は「RSS生成サービスについて考えてみる」です。

次のブログ記事は「ツールを作ってみる」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。