Хитрое меню

#
Хитрое меню
Возникла необходимость сделать очень специфическое меню. Структура такова
Раздел1
  Раздел 1.1
    Раздел 1.1.1
  Раздел 1.2
    Раздел 1.2.1
Раздел2
  Раздел 2.1
    Раздел 2.1.1
Но не все так просто в Датском королевстве. Подразделы 2 выводятся только при активном разделе 2 и подразделах, а подразделы 1 выводятся всегда, кроме тех случаев. когда выводятя подразделы 2. При этом разделы 3 уровня - реализованны как выпадающее меню. Собсно моя проблема в том, как я понимаю, что мне не удается сделать рекурсивный вывод меню с проверкой на то, какой уровень будет выводиться и еще не соображу условие проверки на активность 2 подраздела. Я пробовала такой код, но похоже я категорически не понимаю логику вывода. Ибо либо у меня выводится все, но не рекурсивно, а сплошным потоком (если я в вызове шаблона пишу
<xsl:apply-templates select="//structure"/>)
, либо у меня выводится как нужно, но только подразделы активного раздела (когда я использую
<xsl:apply-templates select="structure[show=1]"/>
). В общем чувствую, что я упускаю что-то важное, а вот понять что конкретно не могу
<xsl:choose>
   <xsl:when test="level = 0">
   <h2><a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a></h2>
    </xsl:when>
   <xsl:when test="level = 1">
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
    <td width="25" align="right"><a href="#" onclick="ShowSub('{@id}');"><img src="../images/plus.gif" alt="Развернуть" border="0" id="img{$pos}" /></a></td>
    <td><a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
   <div id="{$pos}"><ul>
      <xsl:apply-templates select="structure[show=1]"/>
    </ul></div>
</xsl:if>
</xsl:if>
    </td>
  </tr>
    </xsl:when>
   <xsl:when test="level = 2">
    <li><a href="{$link}"><span style="{$link_style}"><xsl:value-of disable-output-escaping="yes" select="name"/></span></a></li>
</xsl:when>
   <xsl:otherwise></xsl:otherwise>
</xsl:choose>
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Хитрое меню
<xsl:apply-templates select="structure[show=1]"/> указывает на то, чтобы выводить подразделы только активного. Попробуйте <xsl:apply-templates select="structure"/>
#
Re: Хитрое меню
не помогло. вообще ноль реакции, вывод как и при <xsl:apply-templates select="structure[show=1]"/>
http://www.colibre.ru - Создание и продвижение сайтов
Авторизация