Регулярное выражение \d
соответствует символу из одной цифры, я думаю, вы хотите, чтобы \d+
или [0-9]+
соответствовали последовательности цифр.И xsl:attribute
выводит узел атрибута, я не понимаю, почему внутри этого вы бы хотели создать узел элемента с <number>...</number>
, поскольку атрибуты не могут содержать элементы.Поэтому убедитесь, что вы используете xsl:attribute
внутри элемента результата или xsl:element
, а затем для значения атрибута просто используйте <xsl:value-of select="."/>
, тогда ваш код должен работать.Если у вас все еще есть проблемы, объясните более подробно, какой выход вы хотите.