NAME

XML::Atom::Filter - easy creation of command line Atom processing tools

VERSION

Version 0.06

SYNOPSIS

package Uppercaser;
use XML::Atom::Filter;
use base qw( XML::Atom::Filter );

sub entry {
    my ($class, $e) = @_;
    $e->content(uc $e->content);
}

package main;
Uppercaser->filter;

DESCRIPTION

XML::Atom::Filter supports creation of command line tools to filter and process Atom feeds.

USAGE

XML::Atom::Filter->new()

Creates an instance of the identity filter. XML::Atom::Filter can be used as a class or an instance.

$f->filter([ $fh ])

Reads an Atom feed document and applies the filtering process to it. The Atom feed is read from $fh, or STDIN if not given. After the feed is read and parsed, it will be run through the pre, entry (entry by entry), and post methods.

$f->pre($feed)

Prepares to process the entries of the feed, an XML::Atom::Feed object. By default, no operation is performed.

$f->entry($entry)

Processes an entry of the feed, an XML::Atom::Entry object. Returns the new or modified entry reference, or undef if the entry should be removed from the filtered feed. By default, no change is made.

If your filter modifies the content of the entry, you must also modify the entry's id. The Atom feed specification requires entries' id fields to be universally unique.

$f->post($feed)

Postprocesses the feed, an XML::Atom::Feed object, after the entries are individually processed. By default, the feed's XML is printed to STDOUT.

AUTHOR

Mark Paschal, <markpasc@markpasc.org>

BUGS

Please report any bugs or feature requests to bug-xml-atom-filter@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=XML-Atom-Filter. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

Copyright 2005-2006 Mark Paschal, All Rights Reserved.

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