XML::Grove::Sub

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
XML::Grove::Sub(3)   User Contributed Perl Documentation   XML::Grove::Sub(3)



NAME
       XML::Grove::Sub - run a filter sub over a grove

SYNOPSIS
	use XML::Grove::Sub;

	# Using filter method on XML::Grove::Document or XML::Grove::Element:
	@results = $grove_object->filter(\&sub [, ...]);

	# Using an XML::Grove::Sub instance:
	$filterer = XML::Grove::Sub->new();
	@results = $grove_object->accept($filterer, \&sub [, ...]);

DESCRIPTION
       "XML::Grove::Sub" executes a sub, the filter, over all objects in a
       grove and returns a list of all the return values from the sub.	The
       sub is called with the grove object as it’s first parameter and pass-
       ing the rest of the arguments to the call to ‘"filter()"’ or
       ‘"accept()"’.

EXAMPLE
       The following filter will return a list of all ‘"foo"’ or ‘"bar"’ ele-
       ments with an attribute ‘"widget-no"’ beginning with ‘"A"’ or ‘"B"’.

	 @results = $grove_obj->filter(sub {
	     my $obj = shift;

	     if ($obj->isa(’XML::Grove::Element’)
		 && (($obj->{Name} eq ’foo’)
		     ││ ($obj->{Name} eq ’bar’))
		 && ($obj->{Attributes}{’widget-no’} =~ /^[AB]/)) {
		 return ($obj);
	     }
	     return ();
	 });

AUTHOR
       Ken MacLeod, ken@bitsko.slc.ut.us

SEE ALSO
       perl(1), XML::Grove(3), Data::Grove::Visitor(3)

       Extensible Markup Language (XML) <http://www.w3c.org/XML>



perl v5.8.5			  1999-08-17		   XML::Grove::Sub(3)