Catalyst::View::Atom::XML - XML serialization for Atom objects


Catalyst-Plugin-AtomServer documentation Contained in the Catalyst-Plugin-AtomServer distribution.

Index


Code Index:

NAME

Top

Catalyst::View::Atom::XML - XML serialization for Atom objects

SYNOPSIS

Top

    package My::App::View::XML;
    use strict;
    use base qw( Catalyst::View::Atom::XML );
    1;

DESCRIPTION

Top

Catalyst::View::Atom::XML provides automatic serialization of XML::Atom objects for a Catalyst application. Your application needs only set $c->stash->{xml_atom_object}, then forward to your view, to serialize an XML::Atom object.

For example:

    sub foo {
        my($self, $c) = @_;
        my $entry = XML::Atom::Entry->new;
        $entry->title('Foo');
        $c->stash->{xml_atom_object} = $entry;
    }

    sub end : Private {
        my($self, $c) = @_;
        $c->forward('My::App::View::XML');
    }


Catalyst-Plugin-AtomServer documentation Contained in the Catalyst-Plugin-AtomServer distribution.

# $Id: XML.pm 1072 2006-01-04 05:01:11Z btrott $

package Catalyst::View::Atom::XML;
use strict;
use base qw( Catalyst::Base );

sub process {
    my($self, $c) = @_;

    my $obj = $c->stash->{xml_atom_object};
    unless ($obj) {
        $c->log->debug("No Atom object specified for rendering")
            if $c->debug;
        return 0;
    }

    unless ($c->response->content_type) {
        $c->response->content_type('application/atom+xml');
    }

    $c->response->body($obj->as_xml);

    1;
}

1;
__END__