code: public List<GetLocationResult> search(String q, int maxRows, Locale locale)
  			throws Exception {
  		List<GetLocationResult> searchResult = new ArrayList<GetLocationResult>();
  
  		String url = URLEncoder.encode(q, "UTF8");
  		url = "q=select%20*%20from%20geo.placefinder%20where%20text%3D%22"
  				+ url + "%22";
  		if (maxRows > 0) {
  			url = url + "&count=" + maxRows;
  		}
  		url = url + "&flags=GX";
  		if (null != locale) {
  			url = url + "&locale=" + locale;
  		}
  		if (appId != null) {
  			url = url + "&appid=" + appId;
  		}
  
  		InputStream inputStream = connect(url);
  		if (null != inputStream) {
  			SAXBuilder parser = new SAXBuilder();
  			Document doc = parser.build(inputStream);
  
  			Element root = doc.getRootElement();
  
  			// check code for exception
  			String message = root.getChildText("Error");
  			// Integer errorCode = Integer.parseInt(message);
  			if (message != null && Integer.parseInt(message) != 0) {
  				throw new Exception(root.getChildText("ErrorMessage"));
  			}
  			Element results = root.getChild("results");
  			for (Object obj : results.getChildren("Result")) {
  				Element toponymElement = (Element) obj;
  				GetLocationResult location = getLocationFromElement(toponymElement);
  				searchResult.add(location);
  			}
  		}
  		return searchResult;
  	}
docs: Call the Yahoo! PlaceFinder service for a result.
  
  @param q
  search string
  @param maxRows
  max number of rows in result, or 0 for all
  @param locale
  locale for strings
  @return list of found results
  @throws Exception
  oops
  @see <a
  href="http://developer.yahoo.com/boss/geo/docs/free_YQL.html#table_pf">Yahoo!
  Boss Geo PlaceFinder</a>