rendered paste body<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
>
<xsl:output
omit-xml-declaration="yes"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
/>
<xsl:template match="/">
<html>
<head>
</head>
<body>
<table border="1">
<tr>
<th>Channels</th>
<th>Program Title</th>
<th>Start Time</th>
</tr>
<xsl:key name="key_channel_name" match="ROW" use="channel_name" />
<xsl:template match="ROW">
<xsl:for-each select="ROW[count(. | key('Key_channel_name', channel_name)[1]) = 1]">
<xsl:sort select="channel_name" />
<xsl:value-of select="channel_name" />,<br />
<xsl:for-each select="key('key_channel_name', channel_name)">
<xsl:value-of select="program_title" />
<xsl:value-of select="start_time" />
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>