La funzione number() prova a convertire l’argomento in un numero, se questa conversione fallisce assume il valore di NaN (Not a Number). Per testare il valore NaN bisogna però prima convertirlo in stringa.
<xsl:if test= "string(number(/elemento/di/prova))='NaN'">is not a number</xsl:if>