2005 年 2 月の履歴(もしくは日誌)


2005 年 2 月

2 月 15 日

Pheeder の ユーザ定義の XSLT

Pheeder を少し使ってみました.デフォルトでは Pheed という RSS 2.0 に画像のメタデータを拡張した形式を表示しようとしても拡張部分が無視されます.付属の pheed.xsl というファイルを利用すると,Pheed のサムネイル画像(小さな画像)が,一覧できるようになります.こういった拡張を XSLT を使って比較的簡単に書く事ができます.

pheed.xsl などの XSLT ファイルを入れる場所は,ユーザのホームの中の「ライブラリ」フォルダの中の「Application Support」フォルダの中の「Pheeder」フォルダの中の「xslt」フォルダです.UNIX のパスで言い換えれば,~/Library/Application Support/Pheeder/xslt です.

pheed.xsl を開いてみると,いくつか気がつく事がありました.まず, <?pheeder:intended_format RSS_2.0 ?> というのが 2 行目にあります.これがあると,RSS 2.0 に対してだけ,この XSLT ファイルを選んで適応できます.Pheeder では,個々の RSS に対して,XSLT のスタイルシートを別々に設定できます.画面右上に Default Style と表示されているメニューがあり,ここに追加した XLST スタイルシートのファイル名が追加されます.<?pheeder:intended_format RSS_2.0 ?> とか <?pheeder:intended_format RSS_1.0 ?> といった記述をしておくと,不適切な RSS に対しては,メニューから選択できないように非表示にできます.

まぁ RSS 1.0, RSS 2.0, Atom Feed のどれにでも対応できる汎用的な XSLT スタイルシートも書けるのですが,Pheeder では RSS に対して細かく XSLT スタイルシートを設定できるのが良いところだと思うので,いろいろな XML に対応する XSLT スタイルシートを用意するよりも,特定の目的の為のものをそれぞれ書いたほうが良いみたいです.

Pheeder では画面が 3 つに分割されます.画面の左上に読み込んだ RSS の一覧,左下に RSS の記事一覧.画面右側は,RSS 一覧から選んだときには記事一覧が表示され,記事一覧から選んだ場合は,その記事だけが表示されます.どちらも RSS をレンダリングした結果です.右側の画面に表示されたリンクをクリックすると Web サイトに接続してその画面の中で表示します.つまり Web ブラウザとしての機能も持っています.

XSLT では,RSS そのものが選ばれているのか,または記事が選ばれているのかによって,処理を分岐するのですが,それに必要な変数が用意されています.

PHEEDER_ITEM

feed item つまり記事が選択されているときには値が 'YES' になります.

PHEEDER_ITEM_NUMBER

選ばれている feed item つまり記事が何番目なのかの数値が入ります.

PHEEDER_DOCUMENT_URL

選ばれている XML つまり RSS や Atom の URI が値として入ります.これって便利ですね.

あと,まだ試していませんが拡張された URI スキームがあります.pheed: を http: の代わりに使うと,その XML ファイルが Pheeder に登録されます.また subscribe: を使うと,自動的に XML を Pheeder に取り込むようです.これらは OPML を扱うときに使うと便利でしょう.

で,さっそく XSLT スタイルシートを書いてみたのですが,欲張っていろいろな XML に対応するものを書いてみました.が,それはあまり Pheeder のやりかたにあっていないみたいなので,機能別に分けた XSLT スタイルシートに書き直します.とりあえず はてなフォトライフの独自語彙を使った RSS に対応するためのものでも書いてみようと思います.はてなフォトライフの RSS にはサムネイル画像の URI が入っているのですが,それを利用できる RSS ブラウザーっておそらく存在していないだろうと思うので.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20050215n1 TrackBack