prasinos' work memo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

OpenSearch

この本に教えてもらいました。

http://www.amazon.co.jp/gp/product/4774142042

要は、SRU の気色の悪い XML ではなくて、Atom で検索結果が返ってくるところに御利益があると。

以下思いついたこと:

とりあえず第一義的にはメタデータは Atom で返ってきて、それにジオを補うことになります。それってものすごく GeoRSS ではないですか。

OpenSearch をサポートすると、Google Chrome のサーチオプションになったりするらしいです。一瞬すごいかもと思いましたが、マイカタログのデータしか検索できないブラウザってどんだけ変態なんでしょうか。ちなみに Firefox はプラグインみたいです。

ついでに仕様もチェック。
http://www.opensearch.org/Home
なんかすごいです。
最初のドキュメントで URL 構造が指定できるので、SRU の URL 構造でもいいわけですね。
これは同一インプリでやっちゃおうという人がでるわけで、はたして SRU Extension とか作られています。
http://www.opensearch.org/Community/Proposal/Specifications/OpenSearch/Extensions/SRU/1.0/Draft_1
httpAccept パラメタが application/sru+xml か application/atom+xml かで振り分けるらしい。これは頭がよい。
スポンサーサイト

MD_Identifier と RS_Identifier

ISO 19115 の話。

一般の識別子として MD_Identifier というものがあるが、これを継承して座標系識別子のための RS_Identifier が作られている。それを素直に使えばいいのだが、どういうわけだか URL とかファイル名を RS_Identifier に書きたがる連中がいて困ったものだと思っていた。

今ようやく理由に気がついた。たぶん以前にも気が付いていたのだが忘れたようなので記録する。

要は、文法は RNC で書くと

element MD_Identifier { element authority { CI_Citation }?, element code { gco:CharacterString }+ }
element RS_Identifier { element authority { CI_Citation }?, element code { gco:CharacterString }+, element codeSpace { gco:CharacterString }?, element version { gco:CharacterString }? }
こうなっているのですね。

で、MD_Identifier だけでも機能は十分で、 code の名前空間の定義は authority に完全に記述できるのだけど、これが CI_Citation 構造型で階層が深くなるし、意味もなく日付が要求されたりして、あまりにもめんどくさいわけですね。で、みな codeSpace を流用すれば楽に名前空間が記述できるぞというわけで、 reference system ではないことを知りながら RS_Identifier を使うにいたったというわけです。

Z39.50 プロトコルは何だかよくわからないバイナリベースであった

結論からいうとだめだこりゃ。Z39.50 (ISO 23950) とやら(SRUじゃないほう)、文書が俺様に解読できないという時点でかなり終わっているという気もしたが、決定的にペケをつけちゃう前に、一体どんなプロトコルだか感じを押さえておかないと寝覚めが悪い。というわけで、自宅の PC にウィキペで紹介されていたフリーの Mercury Z39.50 クライアントをインストールして WireShark で覗きみてみた(末尾)。やったことは、米国会図書館サーバに接続して著者「Snyder, John Parr」書名「a working manual」で検索して1レコードを得ることであるが、それ以外何も読み取れないバイナリが流れている。まあその、死ぬ気で解読すればなんとかなるだろうが、WIS にとっては時間の無駄としかいいようがない。SRU あるんだから。 続きを読む

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。