You referenced using shape files, I'm OUT
his solution, not mine. i'm good with oracle spatial, and normal geocoding using spectrum...although i've written some of the raw code for point-in-polygon, and polygon overlap.
large amounts of data doing spatial joins. shape files are a decent, portable format. tighter than kml/kmx or gpx....just cause ya can't look at them with a text editor doesn't make them bad.
----
yeah, xml is nice, but it only made sense when the cost of disk/ram, and the speed of networks came up about 8 years ago. once again it comes down to a massive amount of overhead to transfer a small amount of data....
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>