Как включить пробелы в XQuery string-join () - PullRequest
1 голос
/ 15 февраля 2011
let $text :=
<a>
  <b>f</b>
  <b>a</b>
  <b> </b>
  <b>l</b>
</a>

return 
  string-join($text/b,"")

возвращает "fal" вместо "fa l"

1 Ответ

4 голосов
/ 15 февраля 2011

string-join будет включать пробелы, но конструктор мог отбросить их в соответствии с действующим значением граничное пространство .

Результат, который вы видите, будет правильным для параметра «strip», где вы эффективно создаете узел без каких-либо граничных пробелов, т.е.

<a><b>f</b><b>a</b><b/><b>l</b></a>

Вы можете принудительно сохранить граничное пространство, добавив это объявление к прологу запроса:

declare boundary-space preserve;
...