« 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 表現
今まで自前で W3CDTF(ISO8601のサブセット)(RSS1.0) とか RFC822(RSS2.0)
とかをパース・変換するルーチンを書いていたが、LWPに付属しているHTTP::Date(ドキュメント和訳)は同じことをやってくれるらしい。機会(不具合報告とか)があれば書き直そう。
ちなみに、
Time::Zone や Time::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
いつのまにか,リモートのファイルを編集できるようになってる.
すごい.