Safari 1.1 で無理矢理 RSS とか FOAF などの XML ファイルを表示するスタイルシート
ユーザスタイルシートで,XML を
Safari の XML への対応は,XML の要素の内容をダーっと表示するだけという寂しい状況です.
Safari の「環境設定...」の「詳細」から「スタイルシート」でユーザスタイルシートを指定して,そのユーザスタイルシートに,RSS や FOAF の要素をブロック要素として表示するって定義するだけでもかなりましになるだろうとは思っていたのです.
と,いうのも神崎さんのページで,RDF を XHTML に埋め込んだ場合に,CSS でテーブルとして表示するという事について触れていて,それを読んで,XHTML に埋め込んだ場合でなくてもユーザスタイルシートを定義すれば RSS などを開いたときに,もっとちゃんと表示できるのだろうと思っていたのです.
したら「2003年11月の戯言 - 駄的HTML改善計画」でOperaに無理やりRSSを表示させるべくして作られたCSS
として,Opera 7 Mods が紹介してありました.
- 2003年11月の戯言 - 駄的HTML改善計画
http://car.s35.xrea.com/diary/200311.shtml#D23-02 - Opera 7 Mods
http://home.no.net/polynar/opera/v7/custom.php
で,やっていることはユーザスタイルシートで,RSS の要素をブロック要素として表示するというものでした.さっそくそれを Safari で試してみたんですが,あまり好みぢゃないことが分かりました.
それで自分で CSS を書いてみる事にしました.
- Safari 1.1 で無理矢理 RSS とか FOAF などの XML ファイルを表示するスタイルシート
http://onohiroki.cycling.jp/archives/safari-v100-xml-css.zip
[ 最新版 safari-v125-xml-css.zip は,ページ下側に ]
ファイルをダウンロードして,zip を伸張したら,Safari の「環境設定...」の「詳細」から「スタイルシート」でユーザスタイルシートとして設定します.
ユーザスタイルシートを定義した後で,試しに http://onohiroki.cycling.jp/PhotoAlbum/2003-08-31_CrusoePetite/rss.rdf を開いてみると,色分けされて表示されるはずです.RSS は緑系,FOAF は青系で表示されます.ダブリン・コアは茶系で縁取りします.
表示がかっこ良くないと思う人もいるでしょうけど,それは好みってことで.
もし興味があったら,ぜひ改変して再配布してください.
Safari と link 要素について (追記:2003-11-30)
ところで,Safari は link 要素の内容を表示できません.Safari Enhancer で,Safari の Debug メニューを有効にした状態で,Show DOM Tree を選んで,Safari が解析した DOM Tree を見てみると link 要素は内容を持たないって事になっているので,スタイルシートでどんなに工夫しても link 要素の内容は表示できないでしょう.
safari-v125-xml.css (追記:2004-08-27)
MacPeople で紹介していただけるって連絡があったので,現在ぼくが使っているバージョンも追加してみました.ファイル名が safari-v125-xml.css となっているのがそうです.使い方は,変わりません.v125 ってのは,現在の Safari のバージョン 1.2.3(v125.9) からとっているので,すごく進化しているっていう意味ではないです.
もうじき,Safari も XSLT に対応するらしいので,その時にはこの CSS は必要ではなくなるでしょう.