/*/*
- это абсолютный путь, поэтому local-name(/*/*)
всегда будет возвращать локальное имя для первого узла во всем документе, который соответствует этому абсолютному пути. Похоже, вы хотите локальное имя текущего узла. В этом случае используйте local-name()
. Если аргумент не указан, используется текущий узел контекста.
Также вы можете использовать шаблон значения атрибута вместо xsl:attribute
, как показано ниже:
<xsl:template match="/*/*">
<File Name="{local-name()}"/>
</xsl>