<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Google Weather API Class</title>
	<atom:link href="http://redinkdesign.net/programming/google-weather-api-class/feed/" rel="self" type="application/rss+xml" />
	<link>http://redinkdesign.net/programming/google-weather-api-class/</link>
	<description>Good code is its own best documentation</description>
	<lastBuildDate>Wed, 25 Aug 2010 20:25:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ashwin Surajbali</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-14</link>
		<dc:creator>Ashwin Surajbali</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-14</guid>
		<description>New revision added. Google&#039;s ICON url changed and the code has been updated.</description>
		<content:encoded><![CDATA[<p>New revision added. Google&#8217;s ICON url changed and the code has been updated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erin</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-21</link>
		<dc:creator>Erin</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-21</guid>
		<description>Thank you so much for sharing this script.  Its awesome.</description>
		<content:encoded><![CDATA[<p>Thank you so much for sharing this script.  Its awesome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashwin Surajbali</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-22</link>
		<dc:creator>Ashwin Surajbali</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-22</guid>
		<description>Code updated again at line 123.

Changed from 

$return_array[&#039;forecast&#039;][$i][&#039;icon&#039;] = &#039;http://img0.gmodules.com/ig/&#039; . $data-&gt;icon[&#039;data&#039;];

to 

$return_array[&#039;forecast&#039;][$i][&#039;icon&#039;] = &#039;http://img0.gmodules.com/&#039; . $data-&gt;icon[&#039;data&#039;];

Stop changing image paths google :)</description>
		<content:encoded><![CDATA[<p>Code updated again at line 123.</p>
<p>Changed from </p>
<p>$return_array['forecast'][$i]['icon'] = &#8216;http://img0.gmodules.com/ig/&#8217; . $data->icon['data'];</p>
<p>to </p>
<p>$return_array['forecast'][$i]['icon'] = &#8216;http://img0.gmodules.com/&#8217; . $data->icon['data'];</p>
<p>Stop changing image paths google <img src='http://redinkdesign.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johnathan</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-23</link>
		<dc:creator>Johnathan</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-23</guid>
		<description>I&#039;m looking to include a similar class in a personal project I&#039;m working on (GNU License). What&#039;s your license on this PHP Class?</description>
		<content:encoded><![CDATA[<p>I&#8217;m looking to include a similar class in a personal project I&#8217;m working on (GNU License). What&#8217;s your license on this PHP Class?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashwin Surajbali</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-24</link>
		<dc:creator>Ashwin Surajbali</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-24</guid>
		<description>Hey, it would be GNU as well. I will update the post...thanks.</description>
		<content:encoded><![CDATA[<p>Hey, it would be GNU as well. I will update the post&#8230;thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johnathan</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-25</link>
		<dc:creator>Johnathan</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-25</guid>
		<description>Great! I&#039;ll drop you a line if/when my project gets completed.

Thanks for your work on this. It&#039;ll save me a good chunk of time.</description>
		<content:encoded><![CDATA[<p>Great! I&#8217;ll drop you a line if/when my project gets completed.</p>
<p>Thanks for your work on this. It&#8217;ll save me a good chunk of time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: César Couto</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-29</link>
		<dc:creator>César Couto</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-29</guid>
		<description>Hi there. I&#039;m trying to find a code for a Portuguese city called &quot;Ponta Delgada&quot;. Since the script gets information by zip code and European zip codes are different, do you know how can i find a zip for a european country that works with google wheater api ?

I&#039;ve tryed using the yahoo zip code of my city but didn&#039;t worked :)</description>
		<content:encoded><![CDATA[<p>Hi there. I&#8217;m trying to find a code for a Portuguese city called &#8220;Ponta Delgada&#8221;. Since the script gets information by zip code and European zip codes are different, do you know how can i find a zip for a european country that works with google wheater api ?</p>
<p>I&#8217;ve tryed using the yahoo zip code of my city but didn&#8217;t worked <img src='http://redinkdesign.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashwin Surajbali</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-30</link>
		<dc:creator>Ashwin Surajbali</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-30</guid>
		<description>Hey, it supports a lot more functionality than I&#039;ve included in this class. I will update it to accept the other features as soon as I get some free time. In the mean time, take a look at this blog

http://blog.emerick.org/2008/05/07/google-weather-api-feed-documentation/</description>
		<content:encoded><![CDATA[<p>Hey, it supports a lot more functionality than I&#8217;ve included in this class. I will update it to accept the other features as soon as I get some free time. In the mean time, take a look at this blog</p>
<p><a href="http://blog.emerick.org/2008/05/07/google-weather-api-feed-documentation/" rel="nofollow">http://blog.emerick.org/2008/05/07/google-weather-api-feed-documentation/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashwin Surajbali</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-33</link>
		<dc:creator>Ashwin Surajbali</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-33</guid>
		<description>Looks good, thanks for the update :)

Curl is a plugin you have to enable btw...but file_get_contents is good as well.  If you use file_get_contents, you might want to set the user agent ini_set(&quot;user_agent&quot;, &quot;Your browsername here&quot;); just incase.</description>
		<content:encoded><![CDATA[<p>Looks good, thanks for the update <img src='http://redinkdesign.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Curl is a plugin you have to enable btw&#8230;but file_get_contents is good as well.  If you use file_get_contents, you might want to set the user agent ini_set(&#8220;user_agent&#8221;, &#8220;Your browsername here&#8221;); just incase.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tristan Grimaux</title>
		<link>http://redinkdesign.net/programming/google-weather-api-class/comment-page-1/#comment-34</link>
		<dc:creator>Tristan Grimaux</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-34</guid>
		<description>With your code I had two problems: the cache enabled but no file, it does not return anything.  So I have changed your example and the cache is handled by make_request(). The grabbing is made by file_get_contents() as I couldn&#039;t find the curl thing. The other problem is your example doesn&#039;t handle languages, so I&#039;ve included in the get_weather_data() function as an optional parameter. 

&lt;code&gt;
&lt;?php
 
	/**
	 * Grabs weather data from Google.com&#039;s weather API and return a nicely formatted array
	 *
	 * @author Ashwin Surajbali
	 * @package Redink Design
	 * @version 0.9.2
	 *
	 * @example
	 * $w = new googleWeather();
	 * $w-&gt;enable_cache = 1;
	 * $w-&gt;cache_path = &#039;/var/www/mysite.com/cache&#039;;
	 * $ar_data = $w-&gt;get_weather_data(10027);
	 * print_r($ar_data);
	 * echo $ar_data[&#039;forecast&#039;][0][&#039;day_of_week&#039;];
	 *
	 * Requires PHP 5 or greater
	 *
	 */
 
	class googleWeather{
 
		/**
		 * Search Value
		 *
		 * @var str
		 */
		public $search;

		/**
		 * Disable or enable caching
		 *
		 * @var boolean
		 */
		public $enable_cache = 0;
 
		/**
		 * Path to your cache directory
		 * eg. /www/website.com/cache
		 *
		 * @var string
		 */
		public $cache_path = &#039;&#039;;
 
		/**
		 * Cache expiration time in seconds
		 * Default: 3600 = 1 Hour
		 * If the cached file is older than 1 hour, new data is fetched
		 *
		 * @var int
		 */
		public $cache_time = 3600; // 1 hour
 
		/**
		 * Full location of the cache file
		 *
		 * @var string
		 */
		private $cache_file;
 
		/**
		 * Location of the google weather api
		 *
		 * @var string
		 */
		private $gweather_api_url = &#039;http://www.google.com/ig/api?hl=%s&amp;weather=%s&#039;;
 
		/**
		 * Storage var for data returned from curl request to the google api
		 *
		 * @var string
		 */
		private $raw_data;
 
		/**
		 * Pull weather information for &#039;Zipcode&#039; or &#039;City&#039; passed in
		 * If enable_cache = true, data is cached and refreshed every hour
		 * Weather data is returned in an associative array
		 *
		 * @param int $zip
		 * @return array
		 */
		public function get_weather_data($search, $lang=&quot;en&quot;){
			$this-&gt;search = $search;

			if ($this-&gt;search == 0 &#124;&#124; strlen($this-&gt;search) &lt; 5 &#124;&#124; !is_numeric($this-&gt;search)){
				$this-&gt;city = $this-&gt;search;
			} else {
				$this-&gt;zip  = $this-&gt;search;
 			};

			$this-&gt;cache_file = $this-&gt;cache_path . &#039;/&#039; . $this-&gt;search;

			// build the url
			$this-&gt;gweather_api_url = sprintf($this-&gt;gweather_api_url, $lang, urlencode($this-&gt;search));
 
			if ($this-&gt;make_request()){
 
				$xml = new SimpleXMLElement($this-&gt;raw_data);
				$return_array = array();
 
				$return_array[&#039;forecast_info&#039;][&#039;city&#039;] = $xml-&gt;weather-&gt;forecast_information-&gt;city[&#039;data&#039;];
				$return_array[&#039;forecast_info&#039;][&#039;zip&#039;] = $xml-&gt;weather-&gt;forecast_information-&gt;postal_code[&#039;data&#039;];
				$return_array[&#039;forecast_info&#039;][&#039;date&#039;] = $xml-&gt;weather-&gt;forecast_information-&gt;forecast_date[&#039;data&#039;];
				$return_array[&#039;forecast_info&#039;][&#039;date_time&#039;] = $xml-&gt;weather-&gt;forecast_information-&gt;current_date_time[&#039;data&#039;];
 
				$return_array[&#039;current_conditions&#039;][&#039;condition&#039;] = $xml-&gt;weather-&gt;current_conditions-&gt;condition[&#039;data&#039;];
				$return_array[&#039;current_conditions&#039;][&#039;temp_f&#039;] = $xml-&gt;weather-&gt;current_conditions-&gt;temp_f[&#039;data&#039;];
				$return_array[&#039;current_conditions&#039;][&#039;temp_c&#039;] = $xml-&gt;weather-&gt;current_conditions-&gt;temp_c[&#039;data&#039;];
				$return_array[&#039;current_conditions&#039;][&#039;humidity&#039;] = $xml-&gt;weather-&gt;current_conditions-&gt;humidity[&#039;data&#039;];
				$return_array[&#039;current_conditions&#039;][&#039;icon&#039;] = &#039;http://www.google.com&#039; . $xml-&gt;weather-&gt;current_conditions-&gt;icon[&#039;data&#039;];
				$return_array[&#039;current_conditions&#039;][&#039;wind&#039;] = $xml-&gt;weather-&gt;current_conditions-&gt;wind_condition[&#039;data&#039;];
 
				for ($i = 0; $i &lt; count($xml-&gt;weather-&gt;forecast_conditions); $i++){
					$data = $xml-&gt;weather-&gt;forecast_conditions[$i];
					$return_array[&#039;forecast&#039;][$i][&#039;day_of_week&#039;] = $data-&gt;day_of_week[&#039;data&#039;];
					$return_array[&#039;forecast&#039;][$i][&#039;low&#039;] = $data-&gt;low[&#039;data&#039;];
					$return_array[&#039;forecast&#039;][$i][&#039;high&#039;] = $data-&gt;high[&#039;data&#039;];
					$return_array[&#039;forecast&#039;][$i][&#039;icon&#039;] = &#039;http://img0.gmodules.com/&#039; . $data-&gt;icon[&#039;data&#039;];
					$return_array[&#039;forecast&#039;][$i][&#039;condition&#039;] = $data-&gt;condition[&#039;data&#039;];
				}
 
			}
 
			return $return_array;
 
		}
 
		private function load_from_cache(){
			if ($this-&gt;enable_cache){
				if (file_exists($this-&gt;cache_file)){
 					$file_time = filectime($this-&gt;cache_file);
					$now = time();
					$diff = ($now-$file_time);
 
					if ($diff &lt;= 3600){
						return file_get_contents($this-&gt;cache_file);
					}
				}
			}
		}
 
		private function write_to_cache($data){
			if ($this-&gt;enable_cache) {
				if (!file_exists($this-&gt;cache_path)){
					// attempt to make the dir
					mkdir($this-&gt;cache_path, 0777);
				}
				if (!file_put_contents($this-&gt;cache_file, $data)){
					echo &quot;&lt;br /&gt;Could not save data to cache. Please make sure your cache directory exists and is writable.&lt;br /&gt;&quot;;
				}
			};
		}
 
		private function make_request(){
 /*
			$ch = curl_init();
			curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt ($ch, CURLOPT_URL, $this-&gt;gweather_api_url);
			curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[&#039;HTTP_USER_AGENT&#039;]);
			curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
			$this-&gt;raw_data = curl_exec ($ch);
			curl_close ($ch);
 */

			$data = $this-&gt;load_from_cache();
			if (!empty($data)) {
			    $this-&gt;raw_data=$data;	
			    return true;
			} else {
				$this-&gt;raw_data = file_get_contents($this-&gt;gweather_api_url);
				if (empty($this-&gt;raw_data)){
					return false;
				} else {
					$this-&gt;raw_data=str_replace(&#039;&lt;?xml version=&quot;1.0&quot;?&gt;&#039;, &#039;&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;&#039;, $this-&gt;raw_data);	
					$this-&gt;write_to_cache($this-&gt;raw_data);
					return true;
				};
			};
 
		}
 
	}
 
?&gt;
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>With your code I had two problems: the cache enabled but no file, it does not return anything.  So I have changed your example and the cache is handled by make_request(). The grabbing is made by file_get_contents() as I couldn&#8217;t find the curl thing. The other problem is your example doesn&#8217;t handle languages, so I&#8217;ve included in the get_weather_data() function as an optional parameter. </p>
<p><code><br />
< ?php</p>
<p>	/**<br />
	 * Grabs weather data from Google.com's weather API and return a nicely formatted array<br />
	 *<br />
	 * @author Ashwin Surajbali<br />
	 * @package Redink Design<br />
	 * @version 0.9.2<br />
	 *<br />
	 * @example<br />
	 * $w = new googleWeather();<br />
	 * $w->enable_cache = 1;<br />
	 * $w->cache_path = '/var/www/mysite.com/cache';<br />
	 * $ar_data = $w->get_weather_data(10027);<br />
	 * print_r($ar_data);<br />
	 * echo $ar_data['forecast'][0]['day_of_week'];<br />
	 *<br />
	 * Requires PHP 5 or greater<br />
	 *<br />
	 */</p>
<p>	class googleWeather{</p>
<p>		/**<br />
		 * Search Value<br />
		 *<br />
		 * @var str<br />
		 */<br />
		public $search;</p>
<p>		/**<br />
		 * Disable or enable caching<br />
		 *<br />
		 * @var boolean<br />
		 */<br />
		public $enable_cache = 0;</p>
<p>		/**<br />
		 * Path to your cache directory<br />
		 * eg. /www/website.com/cache<br />
		 *<br />
		 * @var string<br />
		 */<br />
		public $cache_path = '';</p>
<p>		/**<br />
		 * Cache expiration time in seconds<br />
		 * Default: 3600 = 1 Hour<br />
		 * If the cached file is older than 1 hour, new data is fetched<br />
		 *<br />
		 * @var int<br />
		 */<br />
		public $cache_time = 3600; // 1 hour</p>
<p>		/**<br />
		 * Full location of the cache file<br />
		 *<br />
		 * @var string<br />
		 */<br />
		private $cache_file;</p>
<p>		/**<br />
		 * Location of the google weather api<br />
		 *<br />
		 * @var string<br />
		 */<br />
		private $gweather_api_url = 'http://www.google.com/ig/api?hl=%s&#038;weather=%s';</p>
<p>		/**<br />
		 * Storage var for data returned from curl request to the google api<br />
		 *<br />
		 * @var string<br />
		 */<br />
		private $raw_data;</p>
<p>		/**<br />
		 * Pull weather information for 'Zipcode' or 'City' passed in<br />
		 * If enable_cache = true, data is cached and refreshed every hour<br />
		 * Weather data is returned in an associative array<br />
		 *<br />
		 * @param int $zip<br />
		 * @return array<br />
		 */<br />
		public function get_weather_data($search, $lang="en"){<br />
			$this->search = $search;</p>
<p>			if ($this->search == 0 || strlen($this->search) < 5 || !is_numeric($this->search)){<br />
				$this->city = $this->search;<br />
			} else {<br />
				$this->zip  = $this->search;<br />
 			};</p>
<p>			$this->cache_file = $this->cache_path . '/' . $this->search;</p>
<p>			// build the url<br />
			$this->gweather_api_url = sprintf($this->gweather_api_url, $lang, urlencode($this->search));</p>
<p>			if ($this->make_request()){</p>
<p>				$xml = new SimpleXMLElement($this->raw_data);<br />
				$return_array = array();</p>
<p>				$return_array['forecast_info']['city'] = $xml->weather->forecast_information->city['data'];<br />
				$return_array['forecast_info']['zip'] = $xml->weather->forecast_information->postal_code['data'];<br />
				$return_array['forecast_info']['date'] = $xml->weather->forecast_information->forecast_date['data'];<br />
				$return_array['forecast_info']['date_time'] = $xml->weather->forecast_information->current_date_time['data'];</p>
<p>				$return_array['current_conditions']['condition'] = $xml->weather->current_conditions->condition['data'];<br />
				$return_array['current_conditions']['temp_f'] = $xml->weather->current_conditions->temp_f['data'];<br />
				$return_array['current_conditions']['temp_c'] = $xml->weather->current_conditions->temp_c['data'];<br />
				$return_array['current_conditions']['humidity'] = $xml->weather->current_conditions->humidity['data'];<br />
				$return_array['current_conditions']['icon'] = 'http://www.google.com' . $xml->weather->current_conditions->icon['data'];<br />
				$return_array['current_conditions']['wind'] = $xml->weather->current_conditions->wind_condition['data'];</p>
<p>				for ($i = 0; $i < count($xml->weather->forecast_conditions); $i++){<br />
					$data = $xml->weather->forecast_conditions[$i];<br />
					$return_array['forecast'][$i]['day_of_week'] = $data->day_of_week['data'];<br />
					$return_array['forecast'][$i]['low'] = $data->low['data'];<br />
					$return_array['forecast'][$i]['high'] = $data->high['data'];<br />
					$return_array['forecast'][$i]['icon'] = 'http://img0.gmodules.com/' . $data->icon['data'];<br />
					$return_array['forecast'][$i]['condition'] = $data->condition['data'];<br />
				}</p>
<p>			}</p>
<p>			return $return_array;</p>
<p>		}</p>
<p>		private function load_from_cache(){<br />
			if ($this->enable_cache){<br />
				if (file_exists($this->cache_file)){<br />
 					$file_time = filectime($this->cache_file);<br />
					$now = time();<br />
					$diff = ($now-$file_time);</p>
<p>					if ($diff < = 3600){<br />
						return file_get_contents($this->cache_file);<br />
					}<br />
				}<br />
			}<br />
		}</p>
<p>		private function write_to_cache($data){<br />
			if ($this->enable_cache) {<br />
				if (!file_exists($this->cache_path)){<br />
					// attempt to make the dir<br />
					mkdir($this->cache_path, 0777);<br />
				}<br />
				if (!file_put_contents($this->cache_file, $data)){<br />
					echo "<br />Could not save data to cache. Please make sure your cache directory exists and is writable.<br />";<br />
				}<br />
			};<br />
		}</p>
<p>		private function make_request(){<br />
 /*<br />
			$ch = curl_init();<br />
			curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);<br />
			curl_setopt ($ch, CURLOPT_URL, $this->gweather_api_url);<br />
			curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);<br />
			curl_setopt ($ch, CURLOPT_TIMEOUT, 60);<br />
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);<br />
			$this->raw_data = curl_exec ($ch);<br />
			curl_close ($ch);<br />
 */</p>
<p>			$data = $this->load_from_cache();<br />
			if (!empty($data)) {<br />
			    $this->raw_data=$data;<br />
			    return true;<br />
			} else {<br />
				$this->raw_data = file_get_contents($this->gweather_api_url);<br />
				if (empty($this->raw_data)){<br />
					return false;<br />
				} else {<br />
					$this->raw_data=str_replace('< ?xml version="1.0"?>', '< ?xml version="1.0" encoding="ISO-8859-1"?>', $this->raw_data);<br />
					$this->write_to_cache($this->raw_data);<br />
					return true;<br />
				};<br />
			};</p>
<p>		}</p>
<p>	}</p>
<p>?><br />
</code></p>
]]></content:encoded>
	</item>
</channel>
</rss>
