« June 2003 | メイン | August 2003 »

July 25, 2003

OPML

OPML について勉強.
「OPML an XML-based format that allows exchange of outline-structured information between applications running on different operating systems and environments.」
世界を RDF の網で覆おうとする RNA にとって,これは対応すべきフォーマットなのか.

OPMLの仕様を見てみる.
個々の要素を示す, の中身とか属性とかについては,詳しく言及されていない.みんな,独自定義をしているのか.
信用できそうなのは,bulknews のやつかな.
RNA の site.rdf を表現するなら,このページ に近い書式になるのだろう.カテゴリの表現があるから.

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

July 03, 2003

LWP のなかの html parsing

以前,
LWP::UserAgent は,text/html を GET したときには,なにかしらparse しているらしい」
というようなことを書いた
これのなぞが解けた.どうやら,<meta http-equiv="***"> を parse しているらしい.

HTTP では,レスポンスには,レスポンスヘッダ(「Content-type: text/html」とか)がつく.
HTML では,このレスポンスヘッダと等価(equivalent)なものとして, の中に,
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
というタグを記述することができる.

LWP::UserAgent は,レスポンスヘッダを解釈する機能を持つ(LWP::Simpleと異なり).たとえば,「Status: 302」 とかいわれれば,リダイレクト先のページをとってきてくれる.
この機能の延長として,上記の <meta> の内容も parse して,レスポンスヘッダと同等に扱ってくれる.ありがたいような,余計なお世話のような.

知ってしまえば,全部納得.text/html の時だけしか parse しないのも,HTML::HeadParser が必要なわけも.

で,肝心の解決法は,
 $ua->parse_head(0)
とするだけ(参考).

投稿者 msano : 10:01 PM | コメント (6) | トラックバック