#============================================================= -*-perl-*- # # XML::Schema::Handler # # DESCRIPTION # Module implementing a base class parser handler. # # AUTHOR # Andy Wardley # # COPYRIGHT # Copyright (C) 2001 Canon Research Centre Europe Ltd. # All Rights Reserved. # # This module is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # # REVISION # $Id: Handler.pm,v 1.1.1.1 2001/08/29 14:30:17 abw Exp $ # #======================================================================== package XML::Schema::Handler; use strict; use XML::Schema::Scheduler; use base qw( XML::Schema::Scheduler ); use vars qw( $VERSION $DEBUG $ERROR @MANDATORY @OPTIONAL ); $VERSION = sprintf("%d.%02d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/); $DEBUG = 0 unless defined $DEBUG; $ERROR = ''; #@MANDATORY = qw( type ); @OPTIONAL = qw( name type ); #------------------------------------------------------------------------ # init() #------------------------------------------------------------------------ sub init { my ($self, $config) = @_; my ($name, $value); $self->init_scheduler($config) || return; my ($mand, $option) = @{ $self->_baseargs( qw( @MANDATORY @OPTIONAL ) ) }; $self->_mandatory($mand, $config) || return if @$mand; $self->_optional($option, $config) || return if @$option; $self->{ name } ||= ''; return $self; } #------------------------------------------------------------------------ # accessor methods #------------------------------------------------------------------------ sub type { my $self = shift; return $self->{ type }; } sub name { my $self = shift; return $self->{ name }; } sub ID { my $self = shift; return "Handler[$self->{ name }]"; } 1; __END__