<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet
	version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	xmlns:georss="http://www.georss.org/georss">

<!--
Author: Zoran Kovacevic (http://www.kovacevic.nl/blog).
License: GPL (http://www.opensource.org/licenses/gpl-license.php)
-->

<xsl:output indent="yes" method="xml"/>
<xsl:param name="range"/>
<xsl:param name="tilt"/>
<xsl:param name="heading"/>

<xsl:template match="/rss/channel">

<kml xmlns="http://earth.google.com/kml/2.0">
	<Folder>
	    <xsl:for-each select="item">
		<xsl:if test="(geo:lat/text() and geo:long/text()) or (georss:point/text())">
		<Placemark>
			<name><xsl:value-of select="title"/></name>
			<description><xsl:value-of select="description"/><xsl:value-of select="link"/></description>
			<LookAt>
				<xsl:choose>
					<xsl:when test="georss:point/text()">
						<longitude><xsl:value-of select="substring-after(normalize-space(georss:point), ' ')"/></longitude>
						<latitude><xsl:value-of select="substring-before(normalize-space(georss:point), ' ')"/></latitude>
					</xsl:when>
					<xsl:otherwise>
						<longitude><xsl:value-of select="geo:long"/></longitude>
						<latitude><xsl:value-of select="geo:lat"/></latitude>
					</xsl:otherwise>
				</xsl:choose>
				<range><xsl:value-of select="$range"/></range>
				<tilt><xsl:value-of select="$tilt"/></tilt>
				<heading><xsl:value-of select="$heading"/></heading>
			</LookAt>
			<Point>
				<xsl:choose>
					<xsl:when test="georss:point/text()">
						<coordinates><xsl:value-of select="substring-after(normalize-space(georss:point), ' ')"/>,<xsl:value-of select="substring-before(normalize-space(georss:point), ' ')"/>,0</coordinates>
					</xsl:when>
					<xsl:otherwise>
						<coordinates><xsl:value-of select="geo:long"/>,<xsl:value-of select="geo:lat"/>,0</coordinates>
					</xsl:otherwise>
				</xsl:choose>
			</Point>
		</Placemark>
		</xsl:if>
	    </xsl:for-each>
	</Folder>
</kml>

</xsl:template>

</xsl:stylesheet>
