Звучит так, как будто вы хотите использовать
<xsl:value-of select="concat(name(), '- ', .)"/>
вместо <xsl:value-of select="name(.)" />
.
Насколько я понимаю, оболочка рассматривается как разделитель элементов массива поэтому, если вы хотите передать значение из XSLT в оболочку как отдельный элемент массива, ему необходимо удалить или заменить пробелы, например,
<xsl:value-of select="concat(name(), '-', translate(., ' ', '+'))"/>
заменит любой пробел в значении элемента на +
символа, а затем оболочка будет, по крайней мере, иметь столько элементов массива, сколько есть элементов, обрабатываемых шаблоном XSLT.