Why not adopt me?
This distribution is up for adoption!
If you're interested then please contact the PAUSE module admins via
email.
NAME
IO::Async::XMLStream::SAXReader - Dispatch SAX events from an XML stream.
VERSION
version 0.001002
SYNOPSIS
use IO::Async::XMLStream::SAXReader;
use IO::Async::Loop;
my $loop = IO::Async::Loop->new();
my $sax = IO::Async::XMLStream::SAXReader->new(
handle => $SOME_IO_HANDLE,
on_start_document => sub {
my ( $saxreader, @args ) = @_;
...
},
on_start_element => sub {
my ( $saxreader, @args ) = @_;
...
},
on_end_document => sub {
$loop->stop;
},
);
$loop->add($sax);
$loop->run();
This sub-classes IO::Async::Stream
to provide a streaming SAX parser.
For the individual SAX
events that can be listened for, see XML::SAX::Base
.
All are prefixed with the on_
prefix as constructor arguments.
Alternatively, if you already have an XML::SAX
handler class you wish to reuse:
use IO::Async::XMLStream::SAXReader;
use IO::Async::Loop;
my $loop = IO::Async::Loop->new();
my $sax = IO::Async::XMLStream::SAXReader->new(
handle => $SOME_IO_HANDLE,
sax_handler => YourClass->new();
on_read_eof => sub {
$loop->stop;
},
);
$loop->add($sax);
$loop->run();
AUTHOR
Kent Fredric <kentnl@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.