You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XQuery代码报XDMP-BADCHAR(0x00a0)错,同代码同事机器可运行求排查

解决MarkLogic查询控制台XDMP-BADCHAR (0x00a0)错误

问题场景

运行以下XQuery代码时触发错误:

xquery version "1.0-ml";

import module namespace functx = "http://www.functx.com" at "/MarkLogic/functx/functx-1.0-nodoc-2007-01.xqy";
let $forestNames := xdmp:forest-name(xdmp:host-forests(xdmp:host()))
let $databaseForestsIds := xdmp:database-forests(xdmp:database("credits-dh-FINAL"))
return functx:value-intersect($forestNames, $databaseForestsIds ! xdmp:forest-name (.))

错误信息:

[1.0-ml] XDMP-BADCHAR: (err:XPST0003) Unexpected character found ' ' (0x00a0)

相同代码在同事机器可正常运行。

问题根源

错误提示的0x00a0是非断行空格(NBSP),它和普通空格(ASCII 0x20)编码不同,MarkLogic的XQuery解析器无法识别这种空格,会判定为非法字符。这类字符通常是从Word、网页或其他富文本编辑器复制代码时带进来的。

解决步骤

  • 用支持显示不可见字符的文本编辑器打开代码(比如VS Code开启「控制字符」显示、Sublime Text开启「显示空白字符」),定位所有0x00a0字符(通常显示为特殊标记的空格)。
  • 将所有非断行空格替换为普通空格(直接按空格键输入的空格)。
  • 把替换后的代码重新粘贴到MarkLogic查询控制台运行即可。

内容的提问来源于stack exchange,提问作者Aviator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:47:18