xml::filter::sort::diskbuffer(3pm) [debian man page]
XML::Filter::Sort::DiskBuffer(3pm) User Contributed Perl Documentation XML::Filter::Sort::DiskBuffer(3pm)NAME
XML::Filter::Sort::DiskBuffer - Implementation class used by XML::Filter::Sort
DESCRIPTION
The documentation is targetted at developers wishing to extend or replace this class. For user documentation, see XML::Filter::Sort.
For an overview of the classes and methods used for buffering, see XML::Filter::Sort::BufferMgr.
METHODS
This class inherits from XML::Filter::Sort::Buffer and adds the following methods:
...
COPYRIGHT
Copyright 2002 Grant McLean <grantm@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.12.4 2002-06-14 XML::Filter::Sort::DiskBuffer(3pm)
Check Out this Related Man Page
XML::Filter::Tee(3pm) User Contributed Perl Documentation XML::Filter::Tee(3pm)NAME
XML::Filter::Tee - Send SAX events to multiple processor, with switching
SYNOPSIS
my $t = XML::Filter::Tee->new(
{ Handler => $h0 },
{ Handler => $h1 },
{ Handler => $h2 },
...
);
## Altering the handlers list:
$t->set_handlers( $h0, $h1, $h2, $h3 );
## Controlling flow to a handler by number and by reference:
$t->disable_handler( 0 );
$t->enable_handler( 0 );
$t->disable_handler( $h0 );
$t->enable_handler( $h0 );
## Use in a SAX machine (though see L<XML::SAX::Pipeline> and
## L<XML::SAX::Tap> for a more convenient way to build a machine
## like this):
my $m = Machine(
[ Intake => "XML::Filter::Tee" => qw( A B ) ],
[ A => ">>log.xml" ],
[ B => *OUTPUT ],
);
DESCRIPTION
XML::Filter::Tee is a SAX filter that passes each event it receives on to a list of downstream handlers.
It's like XML::Filter::SAXT in that the events are not buffered; each event is sent first to the tap, and then to the branch (this is
different from XML::SAX::Dispatcher, which buffers the events). Unlike XML::Filter::SAXT, it allows it's list of handlers to be
reconfigured (via "set_handlers") and it allows control over which handlers are allowed to receive events. These features are designed to
make XML::Filter::Tee instances more useful with SAX machines, but they to add some overhead relative to XML::Filter::SAXT.
The events are not copied, since they may be data structures that are difficult or impossibly to copy properly, like parts of a C-based DOM
implementation. This means that the handlers must not alter the events or later handlers will see the alterations.
METHODS
new
my $t = XML::Filter::Tee->new(
{ Handler => $h0 },
{ Handler => $h1 },
{ Handler => $h2 },
...
);
set_handlers
$t->set_handlers( $h0, $h1, $h2 );
$t->set_handlers( {
Handler => $h0,
},
{
Handler => $h1,
},
);
Replaces the current list of handlers with new ones.
Can also name handlers to make enabling/disabling them by name easier:
$m->set_handlers( {
Handler => $validator,
Name => "Validator",
},
{
Handler => $outputer,
},
);
$m->disable_handler( "Validator" );
disable_handler
$t->disable_handler( 0 ); ## By location
$t->disable_handler( "Validator" ); ## By name
$t->disable_handler( $h0 ); ## By reference
Stops sending events to the indicated handler.
enable_handler
$t->enable_handler( 0 ); ## By location
$t->enable_handler( "Validator" ); ## By name
$t->enable_handler( $h0 ); ## By reference
Stops sending events to the indicated handler.
AUTHOR
Barrie Slaymaker <barries@slaysys.com>
COPYRIGHT
Copyright 2002, Barrie Slaymaker, All Rights Reserved
You may use this module under the terms of the Artistic, GNU Public, or BSD licenses, as you choose.
perl v5.10.0 2009-06-11 XML::Filter::Tee(3pm)