вывод погоды

Модератор
#
Re: вывод погоды
<xsl:apply-templates select="FORECAST[@hour = 15]" mode="temperature"/>

Только обратите внимание, у некоторых городов погода дается по состоянию не на 15 часов, а на другое время, например 14!
#
Re: вывод погоды
Все разобрался, вотболее простой xls если кому нужен
<?xml version="1.0" encoding="windows-1251" ?>  
  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">  
<xsl:output method="xml" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>  
  
<!--Шаблон, преобразующий номер дня недели в его текстовое  
представление-->  
<xsl:template name="get-day-of-the-week-abbreviation">  
<xsl:param name="day-of-the-week"/>  
<xsl:choose>  
<xsl:when test="$day-of-the-week = 1">Вс</xsl:when>  
<xsl:when test="$day-of-the-week = 2">Пн</xsl:when>  
<xsl:when test="$day-of-the-week = 3">Вт</xsl:when>  
<xsl:when test="$day-of-the-week = 4">Ср</xsl:when>  
<xsl:when test="$day-of-the-week = 5">Чт</xsl:when>  
<xsl:when test="$day-of-the-week = 6">Пт</xsl:when>  
<xsl:when test="$day-of-the-week = 7">Сб</xsl:when>  
<xsl:otherwise>?</xsl:otherwise>  
</xsl:choose>  
</xsl:template>  
  
<!--Шаблон, преобразующий порядковый номер месяца в его  
текстовое представление-->  
<xsl:template name="get-month-name">  
<xsl:param name="month"/>  
<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>  
</xsl:template>  
  
<!--Шаблон, показывающий текстовое представление облачности-->  
<xsl:template name="get-cloudiness">  
<xsl:param name="cloudiness"/>  
<xsl:choose>  
<xsl:when test="$cloudiness = 0">ясно</xsl:when>  
<xsl:when test="$cloudiness = 1">малооблачно</xsl:when>  
<xsl:when test="$cloudiness = 2">облачно</xsl:when>  
<xsl:when test="$cloudiness = 3">пасмурно</xsl:when>  
<xsl:otherwise>?</xsl:otherwise>  
</xsl:choose>  
</xsl:template>  
  
<!--Шаблон, показывающий текстовое представление атмосферных явлений-->  
<xsl:template name="get-precipitation">  
<xsl:param name="precipitation"/>  
<xsl:choose>  
<xsl:when test="$precipitation = 4">дождь</xsl:when>  
<xsl:when test="$precipitation = 5">ливень</xsl:when>  
<xsl:when test="$precipitation = 6">снег</xsl:when>  
<xsl:when test="$precipitation = 7">снег</xsl:when>  
<xsl:when test="$precipitation = 8">гроза</xsl:when>  
<xsl:when test="$precipitation = 10">без осадков</xsl:when>  
<xsl:otherwise>?</xsl:otherwise>  
</xsl:choose>  
</xsl:template>  
  
<!--Корневой шаблн результирующей страницы-->  
<xsl:template match="/">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
<title>gis meteo informer</title>  
<style type="text/css"></style>  
</head>  
<body>  
<!--Здесь мы выбираем только самый первый(ближайший) прогноз  
под номером 1 -->  
<xsl:apply-templates select="MMWEATHER/*/TOWN/FORECAST[1]"/>  
</body>  
</html>  
</xsl:template>  
  
<!--Базовый шаблон, отображающий информер-->  
<xsl:template match="MMWEATHER/*/TOWN/FORECAST">  
<div id="informer0">  
<table cellspacing="0" cellpadding="1" width="100%"  
border="0" id="gmtbl5">  
<tr>  
<td width="100%" colspan="3">  
<table cellspacing="0" cellpadding="0" width="100%">  
<tr>  
<td height="20" width="100%" id="gmtdttl5" colspan="3">  
<b><a target="_blank" id="tgmtdttl5" href="http://www.gismeteo.RU/city/daily/4368">Москва</a></b>  
</td>  
</tr>  
</table>  
</td>  
</tr>  
<tr>  
<td width="15%">  
<!--Здесь вставляем шаблон, отображающий атмосферные явления-->  
<xsl:apply-templates select="PHENOMENA"/>  
</td>  
<td width="85%" id="tgmtdtext50">  
<xsl:value-of select="@day"/>  
<!--Далее идет вызов шаблонов, отображающих дату в удобном формате-->  
<xsl:call-template name="get-month-name">  
<xsl:with-param name="month" select="@month" />  
</xsl:call-template> - <xsl:call-template name="get-day-of-the-week-abbreviation">  
<xsl:with-param name="day-of-the-week" select="@weekday" />  
</xsl:call-template><br/>  
<!--Здесь вставляем шаблон, отображающий температуру-->  
<b><xsl:apply-templates select="TEMPERATURE"/></b><br/>  
<a target="_blank" id="lgmtdtext50" href="http://www.gismeteo.RU">  
GISMETEO.RU</a>  
</td>  
</tr>  
<tr>  
<td colspan="3" heigth="5"/>  
</tr>  
</table>  
</div>  
</xsl:template>  
  
<!--Шаблон, отображающий температуру-->  
<xsl:template match="TEMPERATURE">  
<xsl:value-of select="@min"/>..<xsl:value-of select="@max"/> °C  
</xsl:template>  
  
<!--Шаблон, отображающий атмосферные явления-->  
<xsl:template match="PHENOMENA">  
<xsl:element name="img">  
<xsl:attribute name="height">60</xsl:attribute>  
<xsl:attribute name="width">59</xsl:attribute>  
<xsl:attribute name="alt">  
<xsl:call-template name="get-cloudiness">  
<xsl:with-param name="cloudiness" select="@cloudiness" />  
</xsl:call-template>,  
<xsl:call-template name="get-precipitation">  
<xsl:with-param name="precipitation" select="@precipitation" />  
</xsl:call-template>  
</xsl:attribute>  
<xsl:attribute name="src">http://informer.gismeteo.ru/getcode/html/images/animbg/<xsl:value-of select="@cloudiness"/>.gif</xsl:attribute>  
</xsl:element>  
</xsl:template>  
  
</xsl:stylesheet>  
Делаю то благодаря чему, несмотря ни на что
#
Re: вывод погоды
а для rp5.ru не кто не пробывал писать?

Там просто прогноз на несколько дней сразу...

<?xml version="1.0" encoding="windows-1251"?>
<weather created="rp5.ru" date="2010-5-28">
   <point id="2374">
      <point_id>2374</point_id>
      <region_id>59</region_id>
      <country_id>3</country_id>
      <point_name>Воронеж</point_name>
      <point_name_trim>Воронеж</point_name_trim>
      <point_name2>в Воронеже</point_name2>
      <point_timestamp>1275072433</point_timestamp>
      <gmt_add>4</gmt_add>
      <point_date>Fri, 28 May 2010 18:47:13 +0400</point_date>
      <point_date_time>2010-5-28 18:47 </point_date_time>
      <timestep>
         <time_step>24</time_step>
         <datetime>2010-5-29 04:00</datetime>
         <G>4</G>
         <HHii>04:00</HHii>
         <cloud_cover>7</cloud_cover>
         <precipitation>0.0</precipitation>
         <pressure>747</pressure>
         <temperature>11</temperature>
         <humidity>90</humidity>
         <wind_direction>С</wind_direction>
         <wind_velocity>1</wind_velocity>
         <falls>0</falls>
         <drops>0</drops>
      </timestep>
      <timestep>
         <time_step>36</time_step>
         <datetime>2010-5-29 16:00</datetime>
         <G>16</G>
         <HHii>16:00</HHii>
         <cloud_cover>30</cloud_cover>
         <precipitation>0.0</precipitation>
         <pressure>750</pressure>
         <temperature>21</temperature>
         <humidity>59</humidity>
         <wind_direction>З</wind_direction>
         <wind_velocity>1</wind_velocity>
         <falls>0</falls>
         <drops>0</drops>
      </timestep>
      <timestep>
         <time_step>48</time_step>
         <datetime>2010-5-30 04:00</datetime>
         <G>4</G>
         <HHii>04:00</HHii>
         <cloud_cover>54</cloud_cover>
         <precipitation>0.0</precipitation>
         <pressure>749</pressure>
         <temperature>15</temperature>
         <humidity>82</humidity>
         <wind_direction>В</wind_direction>
         <wind_velocity>2</wind_velocity>
         <falls>0</falls>
         <drops>0</drops>
      </timestep>
      <timestep>
         <time_step>60</time_step>
         <datetime>2010-5-30 16:00</datetime>
         <G>16</G>
         <HHii>16:00</HHii>
         <cloud_cover>61</cloud_cover>
         <precipitation>0.1</precipitation>
         <pressure>750</pressure>
         <temperature>23</temperature>
         <humidity>56</humidity>
         <wind_direction>Ю</wind_direction>
         <wind_velocity>2</wind_velocity>
         <falls>1</falls>
         <drops>0.5</drops>
      </timestep>
   </point>
</weather>
Жизнь не преодоление сложностей, а поиск возможностей © DSergeev
#
Re: вывод погоды
А как рекомендованное реализрвать на шестой версии?
Fatal error: Class 'xsl' not found in /www/hostcmsfiles/structure/Structure99.php on line 6
Делаю мэйк-ап сайтов
Модератор
#
Re: вывод погоды
slider, http://www.hostcms.ru/api6/classes/Xsl_Processor.html
$return = Xsl_Processor::instance()
   ->xml($sXml)
   ->xsl($sXsl)
   ->process();

echo $return;
#
Re: вывод погоды
HostCMS,
Было бы не плохо иллюстрировать примерами, а не только копипастом из API (в котром, почему-то, даже поиска нет). С новым синтаксисом у меня мозг на узел завязывается. Читая апи чувствую себя телепатом.
Что есть/чем должны быть $sXml, $sXsl?

Есть у меня xml (забираю с сервера, лежит локально - не важно), есть xsl. Как теперь правильно передать эти параметры, для тотго, чтобы страница собралась? При попытке следовать логике получаю "Parse error: syntax error, unexpected T_VARIABLE"

Помогите разобраться.
Делаю мэйк-ап сайтов
Авторизация