NAME

stag-handle.pl - streams a stag file through a handler into a writer


SYNOPSIS

  stag-handle.pl -w itext -c my-handler.pl myfile.xml > processed.itext
  stag-handle.pl -w itext -p My::Parser -m My::Handler myfile.xml > processed.itext


DESCRIPTION

will take a Stag compatible format (xml, sxpr or itext), turn the data into an event stream passing it through my-handler.pl

-help|h
shows this document

-module|m PERLMODULE
A module that is used to transform the input events the module should inherit from the Data::Stag::BaseHandler manpage

-unit|u NODE_NAME
(you should always use this option if you specify -m)

this is the unit that gets passed to the handler/transformer. this will get set automatically if you use the the -c, -s or -t options

multiple units can be set

  -u foo -u bar -u boz

-writer|w WRITER
writer for final transformed tree; can be xml, sxpr or itext

-module|m MODULE
perl modules for handling events

-codefile|c FILE
a file containing a perlhashref containing event handlers - see below

-sub|s PERL
a perl hashref containing handlers

-trap|t ELEMENT=SUB


EXAMPLES

  unix> cat my-handler.pl
  {
    person => sub {
        my ($self, $person) = @_;
        $person->set_fullname($person->get_firstname . ' ' .
                           $person->get_lastname);
        $person;
    },
    address => sub {
        my ($self, $address) = @_;
        # remove addresses altogether from processed file
        return;
    },
  }