string-join
будет включать пробелы, но конструктор мог отбросить их в соответствии с действующим значением граничное пространство .
Результат, который вы видите, будет правильным для параметра «strip», где вы эффективно создаете узел без каких-либо граничных пробелов, т.е.
<a><b>f</b><b>a</b><b/><b>l</b></a>
Вы можете принудительно сохранить граничное пространство, добавив это объявление к прологу запроса:
declare boundary-space preserve;