Hi Mark, 
Hi Martin,

yes Martin is right, the whitespace will be chopped by default leading to the observed behavior.

If you wanted to preserve whitespace globally, you can do that when creating your database. 
If you only want to preserve whitespace for a given element you may do this as well:

let $db := 
'<text id="test">
  <clause xml:space="preserve">
    <word>A</word>a
    <word>B</word>
    <word>C</word>c
  </clause>
</text>' => parse-xml() (: have to actually parse it for the whitespace preserve to have a an effect :)

return $db//word/concat(text(), ' ', normalize-space(./following-sibling::text()[1]))

Which returns: 
A a
C c


Best
Michael


Am 26.02.2019 um 09:48 schrieb Martin Honnen <martin.honnen@gmx.de>:


I think the result you get is caused by whitespace chopping during XML parsing, seems to be the default, seehttp://docs.basex.org/wiki/Command-Line_Options

-wToggles whitespace chopping of XML text nodes. By default, whitespaces will be chopped.