stag-handle - streams a stag file through a handler into a writer
stag-handle -w itext -c my-handler.pl myfile.xml > processed.itext
stag-handle -w itext -p My::Parser -m My::Handler myfile.xml > processed.itext
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 Data::Stag::BaseHandler
- -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
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;
},
}
Hey! The above document had some coding errors, which are explained
below:
- Around line 138:
- =over should be: '=over' or '=over positive_number'