diff -r 000000000000 -r 02cd6b52f378 dummy_foundation/lib/XML/Handler/Sample.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dummy_foundation/lib/XML/Handler/Sample.pm Thu May 28 10:10:03 2009 +0100 @@ -0,0 +1,101 @@ +# 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 is a trivial PerlSAX handler that prints out +the name of each event it receives. The source for +C lists all the currently known PerlSAX +handler methods. + +C is intended for Perl module authors who wish +to look at example PerlSAX handler modules. C +can be used as a template for writing your own PerlSAX handler +modules. C is in the Public Domain and can be +used for any purpose without restriction. + +=head1 AUTHOR + +Ken MacLeod, ken@bitsko.slc.ut.us + +=head1 SEE ALSO + +perl(1), PerlSAX.pod(3) + +=cut