1 package HTML::Zoom::Transform;
4 use base qw(HTML::Zoom::SubObject);
5 use HTML::Zoom::TransformedStream;
8 my ($class, $args) = @_;
9 my $new = $class->SUPER::new($args);
10 $new->{selector} = $args->{selector};
11 $new->{match} = $args->{match} if $args->{match};
12 $new->{filters} = $args->{filters}||[];
16 sub selector { shift->{selector} }
18 sub filters { shift->{filters} }
21 my ($self, $filter) = @_;
23 selector => $self->selector,
24 ($self->{match} ? (match => $self->{match}) : ()),
25 filters => [ @{$self->filters}, $filter ]
34 ->parse_selector($self->{selector});
38 my ($self, $stream) = @_;
39 HTML::Zoom::TransformedStream->new({
42 zconfig => $self->_zconfig,