Пытаюсь посчитать метки

#
Пытаюсь посчитать метки
Пытаюсь посчитать метки этим кодом

    <span style="color: #cacaca">(<xsl:value-of select="count(tags/tag)"/>)</span>


хоть близко к истине? Потому что чего-то не считает.
Модератор
#
Re: Пытаюсь посчитать метки
Mikhail,
Может не считать, если Вы вызываете из другого узла в дереве XML, тогда нужно указать полный путь.
Метки считаете для магазина или ИС? В каком тэмплейте вызываете подсчет?

Покажите Ваш XML и XSL.
#
Re: Пытаюсь посчитать метки
в принципе как уже только не указывал, максимум что удавалось насчитать это 1 .

Считаю для информационной системы. Корректирую ОблакоТэговИнформационнойСистемы

Вот XSL:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:math="http://exslt.org/math">
   <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"/>
   
   <!-- ОблакоТэгов -->
   <xsl:template match="/">
      <xsl:apply-templates select="/document"/>
   </xsl:template>
   
   <xsl:template match="/document">
      
      <xsl:if test="count(InformationSystem/tags/tag) != 0">
         <h2>Метки
            <!-- &#151; <xsl:value-of select="InformationSystem/name" />--></h2>
         
         <xsl:variable name="max_tag_count" select="(/document/InformationSystem/tags/tag/count[not(. &lt; /document/InformationSystem/tags/tag/count)])[1] - 1"/>
         
         <xsl:variable name="max_size" select="16"/>
         <xsl:variable name="min_size" select="9"/>
         
         <xsl:variable name="coeff_size">
            <xsl:choose>
               <xsl:when test="$max_tag_count &gt; 0">
                  <xsl:value-of select="($max_size - $min_size) div $max_tag_count"/>
               </xsl:when>
               <xsl:otherwise>0</xsl:otherwise>
            </xsl:choose>
         </xsl:variable>
         
         <style type="text/css">
            <xsl:comment>
               <xsl:text disable-output-escaping="yes">
                  <![CDATA[
                  .TagsCloud
                  {
                  /*margin: 20px 0px 20px 0px;*/
                  font-family: 'Times New Roman';
                  }
                  .TagsCloud a
                  {
                  padding: 2px;
                  line-height: <xsl:value-of select="$max_size" />px;
                  text-decoration: none;
                  }
                  
                  .TagsCloud a:hover
                  {
                  background-color: #8CA725;
                  color: #fff;
                  }
                  ]]>
               </xsl:text>
            </xsl:comment>
         </style>
         
         <div class="TagsCloud">
            <xsl:apply-templates select="InformationSystem/tags/tag">
               <xsl:with-param name="min_size" select="$min_size"/>
               <xsl:with-param name="coeff_size" select="$coeff_size"/>
            </xsl:apply-templates>
         </div>
      </xsl:if>
   </xsl:template>
   
   <!-- Облако из групп -->
   <xsl:template match="tag">
      
      
      <xsl:param name="min_size"/>
      <xsl:param name="coeff_size" select="10"/>
      <!-- Нужный размер шрифта вычисляется по формуле $min_size + количество * $coeff_size -->
      <xsl:variable name="size" select="round($min_size + ((count - 1) * $coeff_size))"/>
      
      <a href="{/document/InformationSystem/url}tag/{tag_path_name}/" style="font-size: {$size}pt;">
         <xsl:value-of select="tag_name"/>
      </a>&#xA0;
      <span style="color: #cacaca">(<xsl:value-of select="count(/document/InformationSystem/tags/tag)"/>)</span>
      
   </xsl:template>
</xsl:stylesheet>


Не могу вспомнить как посмотреть XML.....



Модератор
#
Re: Пытаюсь посчитать метки
Mikhail писал(а):
Не могу вспомнить как посмотреть XML

В клиентском разделе есть плавающая панель, на ней размещена кнопка показа XML-а.
#
Re: Пытаюсь посчитать метки
оказывается она у меня не выводилась, потому что сайт я просматривал с www а администрировал без.

вот XML облаков

<?xml version="1.0" encoding="windows-1251"?>
<document>
<InformationSystem id="16">
<name>В НАЛИЧИИ</name>
<description>&lt;p&gt;&lt;a href=&quot;/guestbook/&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description>
<url>/news-auto/</url>
<access>0</access>
<tags>
<tag id="104">
<tag_name>Ci</tag_name>
<tag_path_name>Ci</tag_path_name>
<count>2</count>
</tag>
</tags>
</InformationSystem>
</document>
Модератор
#
Re: Пытаюсь посчитать метки
Mikhail,
В XML один тэг:
Mikhail писал(а):
<tag id="104">
<tag_name>Ci</tag_name>
<tag_path_name>Ci</tag_path_name>
<count>2</count>
</tag>
#
Re: Пытаюсь посчитать метки
может я не правильно выразился. Возле тэга я хочу показывать сколько таких тэгов всего. Например тэг Мото (6) - значит тэгов со словами Мото 6.
Модератор
#
Re: Пытаюсь посчитать метки
вместо
<span style="color: #cacaca">(<xsl:value-of select="count(/document/InformationSystem/tags/tag)"/>)</span>

написать
<span style="color: #cacaca">(<xsl:value-of select="count"/>)</span>
#
Re: Пытаюсь посчитать метки
Господи! как все просто...  а я голову ломаю. Спасибо!
Модератор
#
Re: Пытаюсь посчитать метки
Mikhail,
Пожалуйста.
Авторизация