2005年02月15日

Aggregationモジュール

RSS 1.0にはDublin CoreやContentなど、Standardに分類されているモジュールがあります。これらのモジュールは良く使われていますが、この他に、Proposedに分類されているモジュールが結構数があります。提案されているけれどまだ正式には組み入れられていない仕様、ということでしょう。
「RDF Site Summary 1.0 proposed modules」

その中に、Aggregationというモジュールがあります。

このモジュールは、RSS検索サイトのようなあちから記事を集めてきて、1つのRSS Feedとしてまとめるときに有効です。

例を見てみましょう。FeedbackでHeimdallrを検索し、結果から一部抜粋してみます。

<item rdf:about="http://www.sutosoft.com/room/archives/000132.html">
  <title>次のチャンネル</title>
  <link>http://www.sutosoft.com/room/archives/000132.html</link>
  <description>現在、HeimdallrのPluginとしてキーワードチャンネル、トピックチャンネルの2つをリリースしています。
次に来るのは何か、という話ですが、次のチャンネルも、一応決まっています。
それはmixiチャンネルです。</description>
  <ag:source>MASATOの開発日記</ag:source>
  <ag:sourceURL>http://www.sutosoft.com/room/</ag:sourceURL>
  <ag:timestamp>2005-02-05T00:47:47+09:00</ag:timestamp>
  <dc:subject>MASATOの開発日記</dc:subject>
  <dc:publisher>MASATOの開発日記</dc:publisher>
  <dc:creator>MASATO</dc:creator>
  <dc:date>2005-02-06T00:44:42+09:00</dc:date>
</item>

要素名のプレフィックスがag:になっている要素がいくつかあります。 これにより、この記事のソースはどこか、ということが示されます。

実はHeimdallrは1.06からこのAggregationモジュールに対応しています。 いや、対応していたつもりでした。
概要ウィンドウに以下のようにこっそりag:sourceにより示される記事ソースが表示されるはずでした。
概要ウィンドウ
つもりでした、はずでした、というのはどういうことかと言いますと、前確認したときは表示できていたのですが、1.08alpha4で試してみたら表示できていなかったのです。

原因を解析して分かったのですが、どうやらFeedbackがAggregationモジュールの名前空間を切り替えたようです。今は、

xmlns:ag="http://purl.org/rss/1.0/modules/aggregation/"

となっていますが、昔は

xmlns:ag="http://purl.org/rss/modules/aggregation/"

だったと思います。

さすがにこれを切り替えられたら読み込めません。仕様でも変わったのかと確認してみると・・・
なんと、 「名前空間名宣言」と、「サンプル」のところで違う名前空間名を使ってます。

勘弁して欲しいなぁ・・・

曖昧な仕様書が招く小さな(ホントに小さな)悲劇でした。
どちらの名前空間名も仕様書に載っているからにはどちらかが間違いだとも言い難いです。 結局どちらでもうまくいくようにしましたので次のバージョンでは直っていると思います。

なお、このAggregationモジュールを使っているのは、 私が知っている限りFeedbackだけがこのAggregationに対応しています。なんというかさすがFeedback。

投稿者 MASATO : 2005年02月15日 00:10 | トラックバック
コメント
コメントする









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