Absolut,
у Вас в шаблоне вывода пути к ткущему элементу была ошибка - Вы в нем выводили опиcания, соответственно описания выводились для каждого элемента.
Было
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent_id=0">
<a href="{/document/blocks/url}"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/name"/></a>
</xsl:if>
-><a href="{/document/blocks/url}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
<br />
<xsl:value-of disable-output-escaping="yes" select="description"/>
</xsl:template>
надо:
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent_id=0">
<a href="{/document/blocks/url}"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/name"/></a>
</xsl:if>
-><a href="{/document/blocks/url}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
</xsl:template>
А вывод описания текущей группы:
<xsl:value-of disable-output-escaping="yes" select="description"/>
выносим наверх после применения шаблона для вывода пути к текущему элементу:
<!-- Выводим описание группы -->
<p><xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/description"/></p>