Доброго времени суток, коллеги. Недавно начал изучать HOSTCMS и XSL в частности.
Возник вопрос о том, как через xsl описать следующую задачу: у нас есть меню, с определенными дочерними элементами, и нам необходимо, чтобы при условии наличия у текущей структуры дочерних, xsl собрала нам меню исключительно из них. В случае же если у нас дочерних для текущей структуры нет, мы получив родителя текущей структуры собрали уже дочерних для нее, и присвоили определенный класс текущему пункту меню.
Собственно сам вопрос, как правильно сделать выбор между одним и вторым вариантом. Пробовал сделать так:
<xsl:template match="/site">
<xsl:variable name="parent_current_structure_id" select="/site/parent_current_structure_id"/>
<xsl:variable name="current_structure_id" select="/site/current_structure_id"/>
<xsl:choose>
<xsl:when test="count(//structure[@id = $current_structure_id]/structure) > 0">
<xsl:apply-templates select="//structure[@id = $current_structure_id]" mode="child"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="//structure[@id = $parent_current_structure_id]" mode="parent"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Результата не сильно добился. Можете подсказать в какую сторону копать, ну или привести фрагмент рабочего кода под конкретную задачу. С уважением.