2004年05月08日

不適切なRSS Feed

私はHeimdallrというRSSリーダーを開発しています。こういうものを開発していると、
さまざまなRSS Feedを見かける機会があるのですが、結構、不適切なRSS Feedがあります。
不適切なRSS Feedとは、RSS Feed提供者が提供したいと思っている情報と、
RSS規格を厳密に適用して解釈した結果とが食い違っているRSS Feedのことです。

例えば、こんなRSS Feedを見かけました。

  • RSS 2.0なのに、itemの更新時刻をdc:date要素で記述しているRSS Feed
    RSS 2.0ではitemの更新時刻はpubDate要素を使用して記述するものです。

  • RSS 0.92なのに、itemの更新時刻をpubDate要素で記述しているRSS Feed。
    RSS 0.92ではitemの更新時刻を記述する方法はありません。RSS 1.0かRSS 2.0を使用するべきです。

  • RSS 1.0で、/rdf:RDF/item 要素はちゃんとあるのに、/rdf:RDF/channel/items/rdf:Seq 要素が空要素になっているRSS Feed。
    /rdf:RDF/channel/items/rdf:Seq要素にはrdf:li要素なりなんなりを記事の数だけ含ませるべきです。

  • RSS 1.0で、/rdf:RDF/item要素のrdf:about属性がユニークではないRSS Feed。
    /rdf:RDF/channel/items/rdf:Seq/rdf:li要素のrdf:resource属性もユニークではありません。この属性はユニークである必要があります。

一応前もって言い訳しておきますが、もしかしたら私が勘違いしているだけで上記のRSS Feedは適切なのかもしれません。
しかしここは不適切であるとして話を進めます。

こうしたRSS Feedに対し、RSSリーダーはどう振舞うべきか。それはとても難しい問題です。
RSSに限らず、不適切なデータに対し、どのように振舞うべきか、という問題は昔からあります。
例えば、Webブラウザ開発においても、不適切なHTMLファイルに対してどう振舞うべきか、と悩んだことがあったと思います。

どう振舞うか、といっても実際のところ方針の選択肢は2つしかありません。

  • RSS Feedを厳密に解釈し、仕様に書いていない要素などは無視する。

  • RSS Feedの解釈をあまり厳密ではないものにし、仕様に書いていない要素も解釈しようとする。

現状、Heimdallrは、前者の方針で解釈してます。私は、世の中のRSSリーダーはすべて前者の方針で解釈するべきだと思っています。
そうすれば、不適切なRSS Feedは、すぐに不適切なRSS Feedであることが判明し、提供者が修正します。これにより、世の中から不適切なRSS Feedがなくなります。

しかし、現実には後者の方針で解釈しているRSSリーダーが既に存在します。例えば、InfoMaker様が提供するHeadline-Readerです。
Headline-Readerは、RSS Feedをフランクに解釈しているらしく、
上記したような不適切なRSS Feedからもしっかり情報を読み取ってくれます。

Headline-ReaderのユーザはHeimdallrのユーザよりも遥かに多いため、(桁が2つ以上違う)、Headline-ReaderでRSS Feedを解釈できるかどうかだけしか
確認していないRSS Feed提供者は大勢いるでしょう。そういうRSS Feed提供者は、RSS Feedに潜む問題を発見できないわけです。
また、後者の方針も、多くのRSS Feedが解釈でき、多くの情報を得ることができるという利用者側の利点があるため、簡単に否定することもできません。
また、RSSには多くのバージョンがあり、それぞれのバージョンを厳密に解釈するのは難しいという開発側の問題もあります。

つまりは、どちらの方針も利点欠点が色々あり、さらにはRSS自身が抱えている問題もあって状況は複雑になっています。
どちらの方針が良いのか考えても結論はでないので、RSSの世界が、技術面から見て、これからどのように進めば理想的か、というのを考えてみます。

まず最初に、山ほどある今のRSSの仕様を統一した仕様を策定します。
次に、統一RSS仕様に準拠しているかどうかを検証する検証ソフトを普及させます。
次に、統一RSS仕様に準拠したデータをどのように解釈し、どのように振舞うべきかを定めたRSSリーダーの仕様を策定します。
最後に、RSSリーダーの仕様に準拠したRSSリーダーを開発し、普及させます。

しかしまあこんな感じでうまく進むことは無いと思います。
RSSは、大勢の人がそれなりの思惑をもって関わっていますので、
そう簡単に統一仕様が決まるとは思えません。ましてやRSSリーダーの仕様なんて誰も決められないでしょう。
いやはや世の中難しいですねぇ。

投稿者 MASATO : 2004年05月08日 12:21 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?