携帯でRSS
RSSフィードを変換表示する機能を付けてみるテスト中。
またぞろ余計な機能を付けてる…わけではなく、自動トリミングを結局どうしたもんかと悩んでみたら、RSSフィードがあるサイトはそっちも見れるようにしとけば、うざいメニューの羅列をどうしようとか考えなくても済むぢゃん、ということで。
で、例によってPEARから、XML_RSSパッケージを拾ってきてチャカチャカと組んでみたら、いやにあっさり出来上がり。description要素がCDATA(HTMLコード)なら、既存のHTML変換ルーティンを通せばいいだけなので、XML_RSSの出力を並べるだけで終了。あまりにもあっさり終わっちゃったので、絶対なんか落とし穴があんだろうと思ったら、案の定あったよ、ママン。とあるサイトのRSSを読みに行かせたら、もうメチャクチャ。
ここにはRDFとRSS 2.0が置いてあり、そもそもRDFのContent-Typeがtext/plainだったので、これはtext/plainの場合の処理に、「XML宣言とRSSタグがあれば~」というのを追加すればいいやと(RSS 2.0のほうも「text/xml」とかなってるのだけど、これはさすがに想定の範囲内)。で、しかしそれはさておき、どちらもパースがWarningの嵐じゃん。
最初はこれらのRSSがEUCで書かれてるため、単にパーサーがEUCを解さないだけじゃねえの?と思ったのだけど、どうやらそうでもないようで。Warningやパーサーのエラーを眺めてみると、どうも怪しいキャラクターコードが紛れ込んでる臭いので、RSSの中身をじっくり眺めてみたら、いわゆる機種依存文字が使われていることに気付いた。ああ、これまでは無視するだけで煩わされずに済んでた厄介なのが出てきたよ。で、やっつけで機種依存文字の除去処理を加えてみたのだけど、しょせんやっつけなので出力がいまいちおかしい上に、そもそもパーサーの状況は変わらなかったり。だいたい機種依存文字が含まれていてもUTF-8にしちゃうとちゃっかりパースできたりしちゃうので、これが原因だとも言い難く。
とりあえず現状はそのまま放置中。はてさてどうすっかな、これ。
2005/10/20
トラックバック
このエントリーのトラックバックURL:
http://www.rcdtokyo.com/mt/mt-rcdtokyo5428-tb.cgi/13