<xsl:template match="page[@status = 'active']" mode="new_menu">
<a href="{@link}" class="act"><xsl:value-of select="name" /></a>
</xsl:template>
у usel не бывает статуса active его лучше делать проверкой на то не является ли id данной страницы равен id текущей страницы или не равен ли id страницы id одной из родительских страниц
пример первого случая
вместо
<xsl:template match="page" mode="new_menu">
<a href="{@link}"><xsl:value-of select="name" /></a>
</xsl:template>
<xsl:template match="page[@status = 'active']" mode="new_menu">
<a href="{@link}" class="act"><xsl:value-of select="name" /></a>
</xsl:template>
делаем
<xsl:template match="page" mode="new_menu">
<a href="{@link}">
<xsl:if test="@id=$document-page-id"><xsl:attribute name="class">act</xsl:attribute></xsl:if>
<xsl:value-of select="name" />
</a>
</xsl:template>