如何在 XQuery string-join() 中包含空格

发布于 2024-10-17 17:58:57 字数 210 浏览 1 评论 0原文

let $text :=
<a>
  <b>f</b>
  <b>a</b>
  <b> </b>
  <b>l</b>
</a>

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

产生“fal”而不是“fa l”

let $text :=
<a>
  <b>f</b>
  <b>a</b>
  <b> </b>
  <b>l</b>
</a>

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

yields "fal" rather than "fa l"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦过后 2024-10-24 17:58:57

string-join 将包含空格,但构造函数可能根据 边界空间

对于“strip”的设置,您看到的结果是正确的,您可以有效地构造一个没有任何边界空白的节点,即:

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

您可以通过将此声明添加到查询序言中来强制保留边界空间:

declare boundary-space preserve;

string-join will include spaces, but the constructor may have dropped them according to the effective setting of boundary space.

The result that you are seeing would be correct for a setting of "strip", where you effectively are constructing a node without any boundary whitespace, i.e.:

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

You can enforce keeping boundary space by adding this declaration to the query prolog:

declare boundary-space preserve;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文