Если вы сериализуете дерево результатов XSLT-преобразования с использованием элементов управления xsl: output на процессоре XSLT, тогда спецификация предписывает некоторые аспекты сериализации, но другие аспекты остаются за процессором XSLT.В спецификации нет ничего, что ограничивало бы, разделяются ли атрибуты в начальном теге пробелами, табуляциями или символами новой строки, нет ничего, что ограничивало бы использование одинарных или двойных кавычек вокруг значений атрибутов, и ничто не ограничивало порядок атрибутов.
Ваш конкретный процессор XSLT может иметь свои собственные способы управления такими вещами.С помощью Saxon, как упоминает @MartinHonnen, атрибуты будут перенесены на новую строку только в том случае, если максимальная длина строки в противном случае будет превышена, и вы можете установить максимальную длину строки с помощью параметра сериализации Saxon.
Однако дажеесли сериализатор XSLT выводит его особым образом, редактор XML имеет полное право отображать его по-другому.Пробел между значениями атрибута считается незначительным (поскольку он не передает информацию принимающему приложению), и поэтому инструменты XML в конвейере обработки не требуют или не должны сохранять его в точном виде.