ну тогда привожу полный код XSL-шаблона
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hostcms="http://www.hostcms.ru/"
exclude-result-prefixes="hostcms">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:template match="/site">
<ul class="menu">
<!-- Выбираем узлы структуры -->
<xsl:apply-templates select="child::*[show=1]"/>
</ul>
</xsl:template>
<xsl:template match="*">
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/site/current_structure_id"/>
<!-- Определяем стиль вывода элемента в меню -->
<xsl:variable name="li_style">
<xsl:choose>
<!-- Выделяем текущий пункт меню (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="$current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">expand</xsl:when>
<!-- Иначе обычный вывод с неактивным стилем -->
<xsl:otherwise>simple</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем стиль вывода элемента в меню -->
<xsl:variable name="ul_style">
<xsl:choose>
<!-- Выделяем текущий пункт меню (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="$current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">expand2</xsl:when>
<!-- Иначе обычный вывод с неактивным стилем -->
<xsl:otherwise>simple2</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<li class="{$li_style}">
<!-- Показывать ссылку, или нет -->
<xsl:if test="show = 1">
<!-- Определяем адрес ссылки -->
<xsl:variable name="link">
<xsl:choose>
<!-- Если внешняя ссылка -->
<xsl:when test="url != ''">
<xsl:value-of disable-output-escaping="yes" select="url"/>
</xsl:when>
<!-- Иначе если внутренняя ссылка -->
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем стиль вывода элемента в меню -->
<xsl:variable name="a_style">
<xsl:choose>
<!-- Выделяем текущий пункт меню (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="$current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">active</xsl:when>
<!-- Иначе обычный вывод с неактивным стилем -->
<xsl:otherwise>passive</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<a href="{$link}" class="{$a_style}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:if>
<!-- Выбираем подузлы структуры -->
<xsl:if test="count(child::*[show=1]) > 0">
<ul class="acitem {$ul_style}">
<!-- Выбираем узлы структуры -->
<xsl:apply-templates select="child::*[show=1]"/>
</ul>
</xsl:if>
</li>
</xsl:template>
</xsl:stylesheet>
структура меню следующая
<ul class="menu">
<li class="simple">
<a class="passive" href="/">Главная</a>
</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="expand">
<a class="active" href="/wedding-dresses/">Свадебные платья</a>
<ul class="acitem expand2" style="display: block;">
<li class="simple">...</li>
<li class="simple">
<a class="passive" href="/wedding-dresses/edelweis/">Edelweis</a>
</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
</ul>
</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
<li class="simple">...</li>
</ul>
В меню выводятся группы информационной системы /wedding-dresses (ИС) /edelweis (Группа)/,
Если мы заходим в группу ИС - то пункт меню всё равно не активный, то есть стиль не назначается...
такое ощущение, что путь к группе ИС проверку на текущий ID в структуре не проходит...
Или где-то неправильно сделано?
