The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=head1	NAME

XML::Parser::YahooRESTGeocode - an XML::Parser subclass for parsing results returned from YAHOO REST geocode webservice




=head1	SYNOPPSIS

	use LWP::Simple
	use XML::Parser;
	use XML::Parser::YahooRESTGeocode;
	
	#connect to yahoo geocode service
	my $url = 'http://api.local.yahoo.com/MapsService/V1/geocode';
	my $get = 'appid=YahooDemo&street=701+First+Street&city=Sunnyvale&state=CA';
	
	#call yahoo geocode service
	my $xml = get $url . "?" . $get;
	
	#construct use XML::Parser with YahooRESTGeocode subclass
	my $parser = new XML::Parser(Style	=> 'YahooRESTGeocode');
	my $data = $parser->parse($xml) || do {
		die ("parse failed: $XML::Parser::errstr, $!\n");
	};
	
	#use the data for something
	my $cnt = 0;
	foreach my $result (@{$data->{'Result'}}){
		$cnt ++;
		print "\n---- RESULT #" . $cnt . " ----\n";
		foreach my $field (keys %{$result}){
			print "\t[" . $field . "]: " . $result->{$field} . "\n";
		}
	}




=head1	NOTES

=over

=item	works for geocode only

this module only knows how to handle Yahoo!'s REST responses from the geocode API


=item	known fields

this module will need to be modified if more fields are added to the <Result> node,
namely, their names will need to be added to the %node_tree hash at the top of the
module


=item	this was a quick hack

hey, maybe there's a better module for parsing REST query responses out there? This module was 
written as a quick hack, not as a one stop solution. If you want to add improvements or what
have you, then please feel free to hack away on this 'till you're blue in the face. Send me the
changes though, so I can put 'em in the distribution.


=item	'make test' dosen't really test anything

well ... it's a quick hack. part of writing a quick hack is not writing proper test cases and 
skimping on documentation, speaking of ... why am I still writing ???


=item	thanks to Yahoo!

Hey, Yahoo! Thanks for your geocode API, it's pretty sweet!

=back




=head1	AUTHOR

Andrew N. Hicox		<andrew@hicox.com>

Hicox Information Systems Development

http://hicox.com