package HTML::TokeParser::Simple::Token;
use strict;
use vars qw/ $VERSION $REVISION /;
$REVISION = '$Id: Token.pm 13983 2007-03-15 01:32:44Z lh92 $';
$VERSION = '3.0';
sub new {
my ($class, $token) = @_;
$class->_croak("This class should not be instantiated") if __PACKAGE__ eq $class;
return bless $token, $class;
}
sub _croak {
my ($proto, $message) = @_;
require Carp;
Carp::croak($message);
}
sub _carp {
my ($proto, $message) = @_;
require Carp;
Carp::carp($message);
}
sub is_tag {}
sub is_start_tag {}
sub is_end_tag {}
sub is_text {}
sub is_comment {}
sub is_declaration {}
sub is_pi {}
sub is_process_instruction {}
sub rewrite_tag { shift }
sub delete_attr {}
sub set_attr {}
sub get_tag {}
sub return_tag {} # deprecated
sub get_attr {}
sub return_attr {} # deprecated
sub get_attrseq {}
sub return_attrseq {} # deprecated
sub get_token0 {}
sub return_token0 {} # deprecated
# get_foo methods
sub return_text {
my ($self) = @_;
$self->_carp('return_text() is deprecated. Use as_is() instead');
goto &as_is;
}
sub as_is { return shift->[-1] }
1;
__END__
=head1 NAME
HTML::TokeParser::Simple::Token - Base class for C
tokens.
=head1 SYNOPSIS
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new( $somefile );
while ( my $token = $p->get_token ) {
# This prints all text in an HTML doc (i.e., it strips the HTML)
next unless $token->is_text;
print $token->as_is;
}
=head1 DESCRIPTION
This is the base class for all returned tokens. It should never be
instantiated directly. In fact, it will C if it is.
=head1 METHODS
The following list of methods are provided by this class. Most of these are
stub methods which must be overridden in a subclass. See
L for descriptions of these methods.
=over 4
=item * as_is
=item * delete_attr
=item * get_attr
=item * get_attrseq
=item * get_tag
=item * get_token0
=item * is_comment
=item * is_declaration
=item * is_end_tag
=item * is_pi
=item * is_process_instruction
=item * is_start_tag
=item * is_tag
=item * is_text
=item * return_attr
=item * return_attrseq
=item * return_tag
=item * return_text
=item * return_token0
=item * rewrite_tag
=item * set_attr
=back