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

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template name="uscable">
<xsl:choose>
<xsl:when test="Frequency &lt;    57000000"></xsl:when>
<xsl:when test="Frequency    =    75000000">1</xsl:when>
<xsl:when test="Frequency &lt;    79000000"><xsl:value-of select="(Frequency -  57000000) div 6000000 +   2"/></xsl:when>
<xsl:when test="Frequency &lt;    93000000"><xsl:value-of select="(Frequency -  79000000) div 6000000 +   5"/></xsl:when>
<xsl:when test="Frequency &lt;   123000000"><xsl:value-of select="(Frequency -  93000000) div 6000000 +  95"/></xsl:when>
<xsl:when test="Frequency &lt;   177000000"><xsl:value-of select="(Frequency - 123000000) div 6000000 +  14"/></xsl:when>
<xsl:when test="Frequency &lt;   219000000"><xsl:value-of select="(Frequency - 177000000) div 6000000 +   7"/></xsl:when>
<xsl:when test="Frequency &lt;   651000000"><xsl:value-of select="(Frequency - 219000000) div 6000000 +  23"/></xsl:when>
<xsl:when test="Frequency &lt;= 1005000000"><xsl:value-of select="(Frequency - 651000000) div 6000000 + 100"/></xsl:when>
</xsl:choose>
</xsl:template>

<xsl:template name="usbcast">
<xsl:choose>
<xsl:when test="Frequency &lt;   57000000"></xsl:when>
<xsl:when test="Frequency &lt;   79000000"><xsl:value-of select="(Frequency -  57000000) div 6000000 +  2"/></xsl:when>
<xsl:when test="Frequency &lt;  117000000"><xsl:value-of select="(Frequency -  79000000) div 6000000 +  5"/></xsl:when>
<xsl:when test="Frequency &lt;  473000000"><xsl:value-of select="(Frequency - 177000000) div 6000000 +  7"/></xsl:when>
<xsl:when test="Frequency &lt;  809000000"><xsl:value-of select="(Frequency - 473000000) div 6000000 + 14"/></xsl:when>
<xsl:when test="Frequency &lt;= 887000000"><xsl:value-of select="(Frequency - 809000000) div 6000000 + 70"/></xsl:when>
</xsl:choose>
</xsl:template>

<xsl:template match="/">
	<html>
		<head>
			<title>Lineup Results</title>
			<link rel="stylesheet" type="text/css" href="lineup.css" />
		</head>
		<body>
		<table>
			<tr>
			<th>Type</th>
			<th>Channel</th>
			<th>Program</th>
			<th>Call Sign</th>
			</tr>

			<xsl:for-each select="//Program">
				<xsl:sort select="Modulation!='8vsb'"/> 
				<xsl:sort select="Modulation!='qam64'"/> 
				<xsl:sort select="Modulation!='qam255'"/> 

<xsl:variable name="channel">
	<xsl:choose>
	<xsl:when test="Modulation='8vsb'">
		<xsl:call-template name="usbcast" />
	</xsl:when>
	<xsl:otherwise>
		<xsl:call-template name="uscable" />
	</xsl:otherwise>
	</xsl:choose>
</xsl:variable>

<xsl:variable name="samefreq">
	<xsl:if test="Frequency = ./following-sibling::*/Frequency">
		samefreq
	</xsl:if>
</xsl:variable>

					<tr class="mod-{Modulation} {$samefreq}">
					<td class="mod"><xsl:value-of select="Modulation"/></td>
					<td class="channel"><xsl:value-of select="$channel"/></td>
					<td class="program"><xsl:value-of select="ProgramNumber"/></td>
					<td class="name"><xsl:value-of select="GuideName"/></td>
					</tr>


			</xsl:for-each>
			</table>
			<p>
			Found <xsl:value-of select="count(//Program)"/> Programs.
			</p>
		</body>
	</html>
</xsl:template>
</xsl:stylesheet>
