« September 2003 | メイン | November 2003 »

October 30, 2003

「RSS拡張の試み」についての続き

おのひろきさんのページで、先日触れたRSS風メタデータに対するご意見が書かれてある。
うーむ。
ご指摘の意味がよくわかっていないのですが、もしかして、サンプルにおいてrdf:about="***.rdf" となっていたのがいけなかったのでしょうか。URIが全部 "***.rdf" になっていたのはRNAの設定ファイル"site.rdf"をコピーして作ったサンプルだったからなのです。紛らわしいことをして申し訳ないです。
もうちょっとまともなサンプルをおいてみました。見当はずれだったらごめんなさい。ちなみに、<semblog:outs>のなかは<rdf:Bag>にしてみました。

投稿者 msano : 01:00 AM | コメント (2) | トラックバック

October 25, 2003

Date&Time 表現

今まで自前で W3CDTFISO8601のサブセット)(RSS1.0) とか RFC822RSS2.0
とかをパース・変換するルーチンを書いていたが、LWPに付属しているHTTP::Dateドキュメント和訳)は同じことをやってくれるらしい。機会(不具合報告とか)があれば書き直そう。
ちなみに、
Time::ZoneTime::Local(これはデフォルトであるはず) が必要。

メモ : 現在時刻をW3CDTF で出力する方法
----------------------------------------------------------
use strict;
use HTTP::Date qw(time2str str2time parse_date time2iso time2isoz);
use Time::Zone;

my $iso_date = &time2iso;
$iso_date =~ s/ /T/;
my $offset = &tz_offset;
my $tz = sprintf("%02d:00", $offset / 60 / 60);
$tz = '+' . $tz if ($offset >= 0);
print "$iso_date$tz\n";
----------------------------------------------------------

投稿者 msano : 05:00 PM | コメント (5) | トラックバック

「RSS拡張の試み」について

いろいろ議論がなされている。
RNAとしては、in(Trackback) か out(ふつうのリンク)かを区別できる「フラグ」があればそれでよい(というかそういう風にしか使っていない)のだけれど、semblog テクノロジーのインフラなのでちゃんとしておかないとなあ。

おそらく、論点(改善点)は次の二つかな。(いずれも、おのひろきさんより)

(1) item 要素の rdf:about 属性と RSS の link の内容と semblog:in の内容が同じになるのが冗長
(2) <semblog:in> および <semblog:out> で指定するURIは、リテラルではなく、リソース(rdf:resource)として扱うべき。

(1) item 要素の rdf:about 属性と RSS の link の内容と semblog:in の内容が同じになるのが冗長
まったくおっしゃるとおり、冗長。
でもよく考えたら、もっと問題なのは、解釈ができないことだと思う。
<item about="http://a/"><semblog:in>http://a/</semblog:in></item>
という記述がある場合(<item>はトップレベルにある、つまり主語になるとすると)、その解釈は、「"http://a/" における <semblog:in> は "http://a/" である」となるはず。となると、semblog:in という述語に(説得力のある)意味を与えるのが難しいのではないだろうか。

(2) <semblog:in> および <semblog:out> で指定するURIは、リテラルではなく、リソース(rdf:resource)として扱うべき。
これもおっしゃるとおり、そのほうが無難なのだろう。
リテラルとする場合には「このコンテンツを参照しているコンテンツのURIはhogehogeである」という意味になり、リソースとして扱う場合には「このコンテンツを参照しているのはhogehoge というURIのコンテンツである」という意味になる。前者はなんというかまわりくどい。


では、どんなサマリー(メタデータ)フォーマットがよいのか。
・RSS1.0の拡張モジュールという形であれば、おのひろきさんの案になるのだろう。↓
<item rdf:about="http://www.semblog.org/i2k/archives/000210.html">
  <link>http://www.semblog.org/i2k/archives/000210.html</link>
  <title>semblog-dev: RSS拡張の試み</title>
  <semblog:in rdf:resource="http://onohiroki.cycling.jp/index-log200310.html#d20031020n2"/>
</item>

・1つのコンテンツ(つまり、item)を示すRSS風メタデータならば、こんな書式はどうだろうか
ある程度の互換性があり、おそらく多くのRSSパーサで読めるはず。

あ、一つ大事なことを書き忘れていた。
(1)のような「冗長性」が生じたのには理由があったのだった。
本当は、
 ・<link>はコンテンツ(HTML)のURI
 ・<semblog:in>は、コンテンツのサマリー(RSS風メタデータ)のURI
となり、冗長にはならないはずだった。
しかし、コンテンツのサマリーは当然ながら誰も用意していないので、RNAとしては(現時点では)<link>と同じURIを入れざるを得なかった、
というのが「冗長性」発生の経緯。

どうしたものか。

投稿者 msano : 01:20 AM | コメント (3) | トラックバック

October 18, 2003

XMLRPC::Lite と XML::Parser についてのメモ

「$SOAP::Constants::DO_NOT_USE_XML_PARSER = 1」
とすると,XMLRPC::Lite において,XML::Parser を使わない(かわりに,XML::Parser::Lite を使う)ようにできる.

XMLRPC::Lite を使うと,日本語文字が文字化けることがある.
原因の一つとして,XML::Parserの使用があげられる.XMLRPC::Lite は,XML::Parser がある場合には,XML::Parser を使い,なければXML::Parser::Lite を使うようにインプリメントされている.
XML::Parserは,文字コードをUTF-8に強制変換する.その際にトラブルが生じることがある.原因はよくわからない.
XML::Parser::Lite を使うようにすると,その手の問題はおきない.その代わり,文字コードがクライアントとサーバで一致していないと文字化ける.

投稿者 msano : 09:33 PM | コメント (1) | トラックバック

October 12, 2003

AAA! Cafe の blog サービス

無料ホームページサービスの,AAA! Cafeが,blogサービスをはじめた.aDiaryというPHP4のCMSをインストールしてくれる.aDiary ではテンプレートシステムを採用しており, RSS を吐ける.

投稿者 msano : 12:28 PM | コメント (3) | トラックバック

October 08, 2003

ping test

ping test

投稿者 msano : 11:14 PM | コメント (2) | トラックバック

October 07, 2003

winSCP3

いつのまにか,リモートのファイルを編集できるようになってる.
すごい.

投稿者 msano : 09:28 PM | コメント (0) | トラックバック