XML-RSS-Aggregate-0.02 > XML::RSS::Aggregate

名前

XML::RSS::Aggregate - RSSの収集を行うもの

概要

    my $rss = XML::RSS::Aggregate->new(
        # XML::RSS->channel()のためのパラメータ
        title   => 'Aggregated Examples',
        link    => 'http://blog.elixus.org/',

        # XML::RSS::Aggregate->aggregate()のためのパラメータ
        sources => [ qw(
            http://one.example.com/index.rdf
            http://another.example.com/index.rdf
            http://etc.example.com/index.rdf
        ) ],
        sort_by => sub {
            $_[0]->{dc}{subject}    # dc:dateでソートすることをデフォルトにする
        },
        uniq_by => sub {
            $_[0]->{title}          # linkによってユニークであることをデフォルトにする
        }
    );

    $rss->aggregate( sources => [ ... ] );  # more items
    $rss->save("all.rdf");

説明

このモジュールはXML::RSSのサブクラスを実装し、aggregateメソッドを 追加します。これは他のRSS配信を取り出し、オブジェクトそのものに追加します。 これは収集されたリンクに対する適切な順序付けと重複の削除を処理します。

またはコンストラクタnewは、暗黙のうちにchannelaggregate メソッドに渡される引数を取るように変更されます。

全ての基本メソッドは、このモジュールでも適用できます;詳細はXML::RSSを ご覧ください。

メソッド

aggregate (sources=>\@url, sort_by=>\&func, uniq_by=>\&func)

このメソッドは@urlで挙げられた全てのRSS配信を取り出し、それらの 要素を、そのオブジェクトのadd_itemに渡します。

オプションのsort_by引数はRSS要素を並べ替えるために使う関数を指定 します;デフォルトでは{link}属性によって同じ値を分けるようにして、 (絶対時間のスタンプに変換された){dc}{date}属性によって ソートされます。

オプションのuniq_by引数は重複しているRSS要素を削除するために使う 関数をしています;デフォルトでは同じ{link}値を持っている要素を 削除します。

参考資料

XML::RSS

作者

Autrijus Tang <[email protected] >

著作権(=COPYRIGHT)

Copyright 2002 by Autrijus Tang <[email protected]>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

翻訳者

川合孝典 ([email protected])