#!/usr/bin/perl -w
# $Id: bench_parser_lite_replace,v 1.2 2003/09/19 18:52:26 mrodrigu Exp $
use strict;
use simple_benchmark; # to get memory size
use XML::Parser::Lite;
use File::Slurp;

use Getopt::Long;

my( $in_file);
GetOptions( 'in_file=s' =>\$in_file); 
$in_file ||= 'test.xml';

my $xml= read_file( $in_file);

my $in_message;
my $message_nb;
my $p = new XML::Parser::Lite( Handlers => { 
				                   Char  => sub { print $_[1]; },
				                   Start => sub { shift; # get rid of the parser object
															            my $name= shift();
															            my $tag= "<$name";
																					while( @_)
																					  { $tag .= " " . shift() . '="' . shift() . '"'; }
																					$tag .=">";
																					print $tag;
																					if( $name eq 'message') 
																					  { $message_nb++;
																							print "[message $message_nb] ";
																						}
													              },
				                   End   => sub { print "</$_[1]>"; },											                                                      }
                       );
$p->parse( $xml);
