1package HTML::TokeParser::Simple::Token; 2 3use strict; 4 5our $VERSION = '3.16'; 6 7sub new { 8 my ($class, $token) = @_; 9 $class->_croak("This class should not be instantiated") if __PACKAGE__ eq $class; 10 return bless $token, $class; 11} 12 13sub _croak { 14 my ($proto, $message) = @_; 15 require Carp; 16 Carp::croak($message); 17} 18 19sub _carp { 20 my ($proto, $message) = @_; 21 require Carp; 22 Carp::carp($message); 23} 24 25sub is_tag {} 26sub is_start_tag {} 27sub is_end_tag {} 28sub is_text {} 29sub is_comment {} 30sub is_declaration {} 31sub is_pi {} 32sub is_process_instruction {} 33 34sub rewrite_tag { shift } 35sub delete_attr {} 36sub set_attr {} 37sub get_tag {} 38sub return_tag {} # deprecated 39sub get_attr {} 40sub return_attr {} # deprecated 41sub get_attrseq {} 42sub return_attrseq {} # deprecated 43sub get_token0 {} 44sub return_token0 {} # deprecated 45 46# get_foo methods 47 48sub return_text { 49 my ($self) = @_; 50 $self->_carp('return_text() is deprecated. Use as_is() instead'); 51 goto &as_is; 52} 53 54sub as_is { return shift->[-1] } 55 561; 57 58__END__ 59 60=head1 NAME 61 62HTML::TokeParser::Simple::Token - Base class for C<HTML::TokeParser::Simple> 63tokens. 64 65=head1 SYNOPSIS 66 67 use HTML::TokeParser::Simple; 68 my $p = HTML::TokeParser::Simple->new( $somefile ); 69 70 while ( my $token = $p->get_token ) { 71 # This prints all text in an HTML doc (i.e., it strips the HTML) 72 next unless $token->is_text; 73 print $token->as_is; 74 } 75 76=head1 DESCRIPTION 77 78This is the base class for all returned tokens. It should never be 79instantiated directly. In fact, it will C<croak()> if it is. 80 81=head1 METHODS 82 83The following list of methods are provided by this class. Most of these are 84stub methods which must be overridden in a subclass. See 85L<HTML::TokeParser::Simple> for descriptions of these methods. 86 87=over 4 88 89=item * as_is 90 91=item * delete_attr 92 93=item * get_attr 94 95=item * get_attrseq 96 97=item * get_tag 98 99=item * get_token0 100 101=item * is_comment 102 103=item * is_declaration 104 105=item * is_end_tag 106 107=item * is_pi 108 109=item * is_process_instruction 110 111=item * is_start_tag 112 113=item * is_tag 114 115=item * is_text 116 117=item * return_attr 118 119=item * return_attrseq 120 121=item * return_tag 122 123=item * return_text 124 125=item * return_token0 126 127=item * rewrite_tag 128 129=item * set_attr 130 131=back 132