Демонстрационный пример, править по своему вкусу:
<?xml version='1.0' encoding='windows-1251'?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- ПогодаGismeteo -->
<xsl:template match="/MMWEATHER/REPORT">
<xsl:apply-templates select="TOWN"/>
</xsl:template>
<xsl:template match="TOWN">
<table>
<tr>
<td>Время</td>
<xsl:apply-templates select="FORECAST" mode="caption"/>
</tr>
<tr>
<td bgcolor="white">Облачность</td>
<xsl:apply-templates select="FORECAST" mode="cloud"/>
</tr>
<tr>
<td>Осадки</td>
<xsl:apply-templates select="FORECAST" mode="precipitation"/>
</tr>
<tr>
<td bgcolor="white">Tемпература воздуха, °C</td>
<xsl:apply-templates select="FORECAST" mode="temperature"/>
</tr>
<tr>
<td>Атмосферное давление, мм</td>
<xsl:apply-templates select="FORECAST" mode="presure"/>
</tr>
<tr>
<td bgcolor="white">Влажность воздуха,%</td>
<xsl:apply-templates select="FORECAST" mode="wet"/>
</tr>
<tr>
<td>Ветер, метр/сек</td>
<xsl:apply-templates select="FORECAST" mode="wind"/>
</tr>
<tr>
<td bgcolor="white">Комфорт,°С</td>
<xsl:apply-templates select="FORECAST" mode="heat"/>
</tr>
</table>
</xsl:template>
<!-- Заголовки столбцов -->
<xsl:template match="FORECAST" mode="caption">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:choose>
<xsl:when test="@hour = 9">Утро</xsl:when>
<xsl:when test="@hour = 15">День</xsl:when>
<xsl:when test="@hour = 21">Вечер</xsl:when>
<xsl:when test="@hour = 3">Ночь</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose><br />
<xsl:value-of select="@day"/><br />
<xsl:choose>
<xsl:when test="@month = 1">Янв</xsl:when>
<xsl:when test="@month = 2">Фев</xsl:when>
<xsl:when test="@month = 3">Мар</xsl:when>
<xsl:when test="@month = 4">Апр</xsl:when>
<xsl:when test="@month = 5">Май</xsl:when>
<xsl:when test="@month = 6">Июнь</xsl:when>
<xsl:when test="@month = 7">Июль</xsl:when>
<xsl:when test="@month = 8">Авг</xsl:when>
<xsl:when test="@month = 9">Сен</xsl:when>
<xsl:when test="@month = 10">Окт</xsl:when>
<xsl:when test="@month = 11">Нояб</xsl:when>
<xsl:when test="@month = 12">Дек</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose><br />
<xsl:choose>
<xsl:when test="@weekday = 1">Вс</xsl:when>
<xsl:when test="@weekday = 2">Пн</xsl:when>
<xsl:when test="@weekday = 3">Вт</xsl:when>
<xsl:when test="@weekday = 4">Ср</xsl:when>
<xsl:when test="@weekday = 5">Чт</xsl:when>
<xsl:when test="@weekday = 6">Пт</xsl:when>
<xsl:when test="@weekday = 7">Сб</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</td>
</xsl:template>
<!-- Облачность -->
<xsl:template match="FORECAST" mode="cloud">
<td align="center">
<xsl:choose>
<xsl:when test="@hour = 9 or @hour = 15">
<xsl:choose>
<xsl:when test="PHENOMENA/@cloudiness = 0">
<img src="http://test/gismeteo/sun.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 1">
<img src="http://test/gismeteo/sunc.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 2">
<img src="http://test/gismeteo/suncl.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 3">
<img src="http://test/gismeteo/moond.gif" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="PHENOMENA/@cloudiness = 0">
<img src="http://test/gismeteo/moon.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 1">
<img src="http://test/gismeteo/moonc.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 2">
<img src="http://test/gismeteo/mooncl.gif" />
</xsl:when>
<xsl:when test="PHENOMENA/@cloudiness = 3">
<img src="http://test/gismeteo/moond.gif" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:template>
<!-- Осадки -->
<xsl:template match="FORECAST" mode="precipitation">
<td align="center">
<xsl:choose>
<!-- Утро/день -->
<xsl:when test="@hour = 9 or @hour = 15">
<xsl:choose>
<!-- Дождь -->
<xsl:when test="PHENOMENA/@precipitation = 4">
<img src="http://test/gismeteo/rains.gif" />
</xsl:when>
<!-- Ливень -->
<xsl:when test="PHENOMENA/@precipitation = 5">
<img src="http://test/gismeteo/rain.gif" />
</xsl:when>
<!-- Снег -->
<xsl:when test="PHENOMENA/@precipitation = 6">
<img src="http://test/gismeteo/snows.gif" />
</xsl:when>
<!-- Снегопад -->
<xsl:when test="PHENOMENA/@precipitation = 7">
<img src="http://test/gismeteo/snows.gif" />
</xsl:when>
<!-- Гроза -->
<xsl:when test="PHENOMENA/@precipitation = 8">
<img src="http://test/gismeteo/strm.gif" />
</xsl:when>
<!-- Ясно или нет данных -->
<xsl:when test="PHENOMENA/@precipitation = 9 or PHENOMENA/@precipitation = 10">
<img src="http://test/gismeteo/sky.gif" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:when>
<!-- Вечер/ночь -->
<xsl:otherwise>
<xsl:choose>
<!-- Дождь -->
<xsl:when test="PHENOMENA/@precipitation = 4">
<img src="http://test/gismeteo/nrains.gif" />
</xsl:when>
<!-- Ливень -->
<xsl:when test="PHENOMENA/@precipitation = 5">
<img src="http://test/gismeteo/nrain.gif" />
</xsl:when>
<!-- Снег -->
<xsl:when test="PHENOMENA/@precipitation = 6">
<img src="http://test/gismeteo/nsnows.gif" />
</xsl:when>
<!-- Снегопад -->
<xsl:when test="PHENOMENA/@precipitation = 7">
<img src="http://test/gismeteo/nsnows.gif" />
</xsl:when>
<!-- Гроза -->
<xsl:when test="PHENOMENA/@precipitation = 8">
<img src="http://test/gismeteo/nstrm.gif" />
</xsl:when>
<!-- Ясно или нет данных -->
<xsl:when test="PHENOMENA/@precipitation = 9 or PHENOMENA/@precipitation = 10">
<img src="http://test/gismeteo/nsky.gif" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:template>
<!-- Температура воздуха -->
<xsl:template match="FORECAST" mode="temperature">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:if test="TEMPERATURE/@max > 0">+</xsl:if>
<xsl:value-of select="TEMPERATURE/@max"/><br />
<xsl:if test="TEMPERATURE/@min > 0">+</xsl:if>
<xsl:value-of select="TEMPERATURE/@min"/>
</td>
</xsl:template>
<!-- Атмосферное давление -->
<xsl:template match="FORECAST" mode="presure">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:value-of select="PRESSURE/@max"/><br />
<xsl:value-of select="PRESSURE/@min"/>
</td>
</xsl:template>
<!-- Влажность воздуха -->
<xsl:template match="FORECAST" mode="wet">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:value-of select="RELWET/@max"/><br />
<xsl:value-of select="RELWET/@min"/>
</td>
</xsl:template>
<!-- Ветер -->
<xsl:template match="FORECAST" mode="wind">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:choose>
<xsl:when test="WIND/@direction = 0">С</xsl:when>
<xsl:when test="WIND/@direction = 1">С-В</xsl:when>
<xsl:when test="WIND/@direction = 2">В</xsl:when>
<xsl:when test="WIND/@direction = 3">Ю-В</xsl:when>
<xsl:when test="WIND/@direction = 4">Ю</xsl:when>
<xsl:when test="WIND/@direction = 5">Ю-З</xsl:when>
<xsl:when test="WIND/@direction = 6">З</xsl:when>
<xsl:when test="WIND/@direction = 7">С-З</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
<br /><xsl:value-of select="WIND/@min"/>-<xsl:value-of select="WIND/@max"/>
</td>
</xsl:template>
<!-- Комфорт -->
<xsl:template match="FORECAST" mode="heat">
<!-- Определяем цвет ячейки, по времени суток -->
<xsl:variable name="td_color"><xsl:choose>
<xsl:when test="@hour = 9">#FFF0F0</xsl:when>
<xsl:when test="@hour = 15">#FFFFF0</xsl:when>
<xsl:when test="@hour = 21">#F0FFF0</xsl:when>
<xsl:when test="@hour = 3">#F0F0FF</xsl:when>
</xsl:choose></xsl:variable>
<td align="center" bgcolor="{$td_color}">
<xsl:if test="HEAT/@max > 0">+</xsl:if>
<xsl:value-of select="HEAT/@max"/><br />
<xsl:if test="HEAT/@min > 0">+</xsl:if>
<xsl:value-of select="HEAT/@min"/>
</td>
</xsl:template>
</xsl:stylesheet>