1. по поводу стилей для меню: во-первых, в css добавьте имя тэга к именам классов, т.е.
a.no_active
{
color: #000000;
font-size: 9pt;
text-decoration: none;
}
a.active
{
color: #e6b1d1;
font-size: 9pt;
text-decoration: none;
}
А, во-вторых, в XSL-шаблоне исправьте, чтобы было так:
<!-- Определяем стиль вывода ссылки -->
<xsl:variable name="link_style"><xsl:choose>
<!-- Выделяем текущую страницу жирным (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">active</xsl:when>
<!-- Иначе обычный вывод с пустым стилем -->
<xsl:otherwise>no_active</xsl:otherwise>
</xsl:choose></xsl:variable>
<a href="{$link}" class="{$link_style}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
Проверено - так все работает.
2. по поводу вывода 2-го уровня меню. На самом деле в стандартном XSL-шаблоне для меню эта возможность не предусмотрена, и выводится только один уровень. Поэтому за основу можете взять XSL-шаблон для карты сайта, там есть реализация этой возможности.