[#43255] rubygems で zlib(LoadError) — "Hideo Konami" <konami@...>
小波です。この問題は既出のような気がしたのですが,過去ログでは見つけられ
9 messages
2007/03/06
[#43271] rails がこけます — "Hideo Konami" <konami@...>
小波です。
15 messages
2007/03/18
[#43273] Re: rails がこけます
— 山崎雄介 <y-yamasaki@...>
2007/03/19
山崎です。
[#43274] rubyスクリプト内で、unixコマンドを実行
— 上間 健 <mugenkai15@...>
2007/03/19
こんにちは、上間です。
[#43275] Re: rubyスクリプト内で、unixコマンドを実行
— 石井 大海 <banzaida@...>
2007/03/19
お久しぶりです、konnです。
[#43277] Re: rubyスクリプト内で、unixコマンドを実行
— 石井 大海 <banzaida@...>
2007/03/19
あーっとしまった。すいません訂正間違いが。
[#43286] モジュールのinclude先の名前 — Sato Hiroshi <hirocy.f01@...>
hirocyです.
23 messages
2007/03/22
[#43290] system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
お世話になっております。佐藤です。
[#43291] Re: system(wget url) について
— Yukiharu Yabuki <yabuki@...>
2007/03/22
こんにちは
[#43293] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
矢吹さん有難うございます。佐藤です。
[#43294] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43295] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
まつもとゆきひろさん有難うございます。佐藤です。
[#43297] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43299] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
佐藤です。
[#43300] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43302] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
すみません。。。佐藤です。
[#43298] TMailでデコードエラー — OSHIRO Naoki <oshiro@...>
大城と申します.
5 messages
2007/03/22
[#43326] cgi/sessionの使いかた — NAWATE Masahiko <eye-shield_21@...>
縄手@松江です.
8 messages
2007/03/29
[ruby-list:43270] [ANN] RSS Parser 0.1.7
From:
Kouhei Sutou <kou@...>
Date:
2007-03-17 11:07:25 UTC
List:
ruby-list #43270
須藤です。
RSS Parser 0.1.7をリリースしました。
http://raa.ruby-lang.org/project/rss/
0.1.7での新機能は以下の通りです。
* Atomのサポート
* RSS 2.0中のDublinCoreモジュールの正式サポート
* 他のフィード形式に変換するための便利メソッドを追加
また0.1.7からruby 1.6.xのサポートを打ち切りました。
以下、長めの詳細です。
= Atomのサポート
Atomをサポートとは以下のことを含みます。
* RSS::Parser.parseでAtomフィード文書を妥当性検証つきでパー
スできる。
* RSS::Parser.parseでAtomエントリ文書を妥当性検証つきでパー
スできる。
* RSS::Maker.makeでAtomフィード文書を生成できる。
* RSS::Maker.makeでAtomエントリ文書を生成できる。
残念ながら、AtomサポートによりRSS Makerの以下の参照系のAPIの
挙動が変わりました。以前はStringかnilを返していたのですが、オ
ブジェクトを返すようになりました。
* maker.channel.title
* maker.channel.description
* maker.channel.copyright
* item.title
* item.link
* item.description
* item.rights
ただ、0.1.6までのRSS Parser/RSS Makerの使いかたではこれらAPI
は使われていないだろうと思うので、影響は少ないと考えています。
= RSS 2.0とDublinCoreモジュール
今までは非公式にサポートしていましたが、0.1.7からは何もしな
くても使えるようになります。また、今までは以下のように各ファ
イルを別々にrequireして使うことを推奨していましたが、
require 'rss/1.0'
require 'rss/dublincore'
少し前のバージョンから
require 'rss'
というようにするだけでフル機能を使えるようになっています。
= フィード形式の変換
フィード形式とはRSS 1.0とかRSS 2.0とかAtomとかのことを指して
いるつもりです。
0.1.7から他のフィード形式に変換するための便利メソッドを追加し
ました。これを使うと以下のようにRSS 1.0をRSS 2.0に変換するこ
とができます。
rss10 = RSS::Parser.parse(File.read("1.0.rdf"))
rss20 = rss10.to_rss("2.0")
RSS Parserはフィードの種類によらずRSS Parser.parseでパースで
きますが、パースしたフィードの種類毎に別のオブジェクトを返す
ため、パース結果を使うときに面倒なことがありました。
これに対する1つの解はフィードの結果によらない一般的なオブジェ
クトを返すというもので、いくつかの既存のRSS/Atomパーサが採用
しています。しかし、この方式では一般的なオブジェクトの設計な
どをかなり頑張らないとフィード特有の情報が抜け落ちてしまうか
もしれません。既存のパーサはそこらへんはうまく妥協点を見出し
ているようです。
RSS Parserが妥当性検証つきにこだわっていることからもわかると
おり、私は上記の方法の中途半端な感じが嫌でした。そこで、「パー
ス結果が使いにくい」に対する私の答えが「フィード形式の変換」
です。
ユーザは、パース結果を使用する前に、自分の好みのフィード形式
に変換します。以下の例では全てのフィードをRSS 1.0として扱いま
す。
feeds = inputs.collect do |input|
feed = RSS::Parser.parse(input)
feed.to_rss("1.0")
end
ユーザが欲しい情報はそのフィード形式が持っている情報のみであ
るといえます。つまり、フィード形式を変換するところを頑張れば、
ユーザが情報落ちを気にすることはなくなります。そこを頑張って
いるのがRSS Makerです。
しかし、フィード形式により必要な情報が異なるため、完璧に変換
できないこともあります。そのため、以下のように変換後のフィー
ドの内容をカスタマイズできます。例えば、以下の例は、変換元の
フィードにタイトルが設定されていない場合にデフォルトのタイト
ルを設定します。
feed.to_rss("1.0") |maker|
maker.title.content ||= "Unknown"
end
以前のRSS Parserはこのように利用されてることはほとんどなかっ
たと思います。それが、私がRSS Makerの参照系のAPIはほとんど使
われていなかっただろうと予想している理由です。
最後に、RSS ParserがRubyの標準添付ライブラリに含まれているの
に別リリースなのは以下の理由からです。
* APIに非互換性があるためruby 1.8.xには含めることができない
気がする
* でも、いろいろ使ってテストしてみて欲しい
* trunkで動くものはruby 1.8.xでは動かない