# This template file is in the Public Domain.
# You may do anything you want with this file.
#
# $Id: Sample.pm,v 1.4 1999/08/16 16:04:03 kmacleod Exp $
#
package XML::Handler::Sample;
use vars qw{ $AUTOLOAD };
sub new {
my $type = shift;
my $self = ( $#_ == 0 ) ? shift : { @_ };
return bless $self, $type;
}
# Basic PerlSAX
sub start_document { print "start_document\n"; }
sub end_document { print "end_document\n"; }
sub start_element { print "start_element\n"; }
sub end_element { print "end_element\n"; }
sub characters { print "characters\n"; }
sub processing_instruction { print "processing_instruction\n"; }
sub ignorable_whitespace { print "ignorable_whitespace\n"; }
# Additional expat callbacks in XML::Parser::PerlSAX
sub comment { print "comment\n"; }
sub notation_decl { print "notation_decl\n"; }
sub unparsed_entity_decl { print "unparsed_entity_decl\n"; }
sub entity_decl { print "entity_decl\n"; }
sub element_decl { print "element_decl\n"; }
sub doctype_decl { print "doctype_decl\n"; }
sub xml_decl { print "xml_decl\n"; }
# Additional SP/nsgmls callbacks in XML::ESISParser
sub start_subdoc { print "start_subdoc\n"; }
sub end_subdoc { print "start_subdoc\n"; }
sub appinfo { print "appinfo\n"; }
sub internal_entity_ref { print "sdata\n"; }
sub external_entity_ref { print "sdata\n"; }
sub record_end { print "record_end\n"; }
sub internal_entity_decl { print "internal_entity_decl\n"; }
sub external_entity_decl { print "external_entity_decl\n"; }
sub external_sgml_entity_decl { print "external_sgml_entity_decl\n"; }
sub subdoc_entity_decl { print "subdoc_entity_decl\n"; }
sub notation { print "notation\n"; }
sub error { print "error\n"; }
sub conforming { print "conforming\n"; }
# Others
sub AUTOLOAD {
my $self = shift;
my $method = $AUTOLOAD;
$method =~ s/.*:://;
return if $method eq 'DESTROY';
print "UNRECOGNIZED $method\n";
}
1;
__END__
=head1 NAME
XML::Handler::Sample - a trivial PerlSAX handler
=head1 SYNOPSIS
use XML::Parser::PerlSAX;
use XML::Handler::Sample;
$my_handler = XML::Handler::Sample->new;
XML::Parser::PerlSAX->new->parse(Source => { SystemId => 'REC-xml-19980210.xml' },
Handler => $my_handler);
=head1 DESCRIPTION
C