let $text :=
<a>
<b>f</b>
<b>a</b>
<b> </b>
<b>l</b>
</a>
return
string-join($text/b,"")
产生“fal”而不是“fa l”
答案 0 :(得分:4)
string-join
将包含空格,但构造函数可能已根据boundary space的有效设置删除了它们。
您所看到的结果对于“strip”的设置是正确的,您可以在其中构建一个没有任何边界空白的节点,即:
<a><b>f</b><b>a</b><b/><b>l</b></a>
您可以通过将此声明添加到查询序言中来强制保留边界空间:
declare boundary-space preserve;