たけまる / Atom 0.3 と 1.0 の相互変換
2007-03-31
_
Atom 0.3 と 1.0 の相互変換 [atom][perl]



Perl で RSS や Atom を変換するには,XML::Feed や XML::FeedPP が使えます.たとえば,plagger では XML::Feed が使われています.個人的
には変換速度の速い XML::FeedPP を使っています.
[Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合
ところで,RSS や RDF と Atom を変換することはできるのですが,Atom
0.3 と 1.0 の変換はサポートしていませんでした.XML::FeedPP を Atom
1.0 に対応させるパッチを作りましたので紹介です.
FeedPP v.0.21 の Atom 1.0 対応パッチ
以下のようにして,Atom 0.3 から 1.0 に変換できます.逆も同様です.
my $atom10 = XML::FeedPP::Atom1_0->new; $feed->merge( $atom03_xml ); $feed->to_string( 'UTF-8' );
作者の川崎さんにパッチを送ったので,近いうちに取り込まれると思いま
す (モジュール名が XML::FeedPP::Atom1_0 から変更されるかもしれませ
んので注意してください).
■ 追記
XML::Feed は,Atom 0.3 から 1.0 への片道変換のみサポートしています.
XML::Feed->parse( \$atom03_xml )->convert('Atom')->as_xml;
逆変換するには,XML::Feed::Atom にハードコーディングされている
'1.0' という文字列を '0.3' にすればよいと思われます.
