Попробуйте <xsl:when test="count($ListeEcheances/*) > 0">
или подождите - может быть, вы получите что-то вроде
Expression must evaluate to a node-set.
count(-->$ListeEcheances<--/*) > 0
Причина в том, что переменная является фрагментом дерева результатов, а не набором узлов.
В XSLT 1.0 вам потребуется применить функцию набора узлов, доступную в пространстве имен, зависящем от процессора.
Например: <xsl:when test="count(msxsl:node-set($ListeEcheances/*)) > 0">
Если это не работает или вы не можете обнаружить пространство имен для использования, то может помочь хитрость:
<xsl:variable name="temp" select="$ListeEcheances"/>
<xsl:when test="count($temp/*) > 0">
Причина, по которой это работает, может быть найдена в stackoverflow rtf для набора узлов