#!/usr/bin/perl -w # $Id: bench_sax_base_libxml_nothing,v 1.2 2003/09/19 18:52:26 mrodrigu Exp $ use strict; use simple_benchmark; # to get memory size use XML::LibXML::SAX; use XML::Filter::BufferText; # to buffer all character events use XML::SAX::Machines qw(:all); # to pipe the 2 SAX handlers use XML::SAX::Writer; use Getopt::Long; my( $in_file, $print); GetOptions( 'print!' => \$print, 'in_file=s' =>\$in_file); $in_file ||= 'test.xml'; $print= 1 unless( defined $print); my @filters= qw(XML::LibXML::SAX XML::Filter::BufferText OutputMessage); push @filters, 'XML::SAX::Writer' if( $print); Pipeline( @filters)->parse_uri('test.xml'); package OutputMessage; use base qw( XML::SAX::Base); my $in_message; my $message_nb; my $prefix_printed=0; sub start_element { $_[0]->SUPER::start_element( $_[1]); } sub characters { $_[0]->SUPER::characters( $_[1]); } sub end_element { $_[0]->SUPER::end_element( $_[1]); }