NAME

Catmandu::Exporter::Template - a TT2 Template exporter in Catmandu style

SYNOPSIS

    use Catmandu::Exporter::Template;

    my $exporter = Catmandu::Exporter::Template->new(
                fix => 'myfix.txt'
                xml => 1,
                template_before => '<path>/header.xml' ,
                template => '<path>/record.xml' ,
                template_after => '<path>/footer.xml' ,
           );

    $exporter->add_many($arrayref);
    $exporter->add_many($iterator);
    $exporter->add_many(sub { });

    $exporter->add($hashref);

    $exporter->commit; # trigger the template_after

    printf "exported %d objects\n" , $exporter->count;

DESCRIPTION

This Catmandu::Exporter can be used to export records using Template Toolkit. If you are new to Catmandu see Catmandu::Tutorial.

METHODS

Catmandu::Exporter::Template derives from Catmandu::Exporter with all of its methods (add, add_many, count, and log). The following methods are supported in addition:

new(%opts)

The only required argument is 'template' which points to a file to render for each exported object. Set the 'template_before' and 'template_before' to add output at the start and end of the export. Optionally provide an 'xml' indicator to include a XML header.

  • template: Required. Must contain path to the template.

  • xml: Optional. Value: 0 or 1. Prepends xml header to the template.

  • template_before: Optional. Prepend template.

  • template_after: Optional. Append template.

  • fix: Optional. Apply Catmandu fixes while exporting.

  • start_tag

  • end_tag

  • tag_style

  • interpolate

  • eval_perl

commit

Commit all changes and execute the template_after if given.

SEE ALSO

Catmandu::Exporter, Template