Problem solved.
Something like this made it work (you're welcome if you have some
suggestion to simplify or optimize) :
<xsl:template name="pageNav">
<xsl:param name="targetNode"/>
<xsl:param name="currentNode"/>
<div class="sectionNav">
<xsl:for-each select="$currentNode/section|$currentNode/page">
<li>
<a href="{$url}?page={(_at_)name}">
<xsl:value-of select="@title"/></a>
<xsl:if test=". = $targetNode/ancestor-or-self::section">
<ul>
<xsl:call-template name="pageNav">
<xsl:with-param name="targetNode" select="$targetNode"/>
<xsl:with-param name="currentNode" select="."/>
</xsl:call-template>
</ul>
</xsl:if>
</li>
</xsl:for-each>
</div>
</xsl:template>
/Marcus