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