Je n'ai pas essayé mais mais est-ce que <xsl:variable name="foo" select="name()" /> ne te donnerais pas ce que tu veux?
Attention cependant avec les noms variables: pense que normalement tu dois pouvoir écrire un DTD ou un schéma pour ton fichier xml, ce qui implique de connaître les noms des noeuds.