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

MarkLogic TDE模板如何对数值类型使用string-join函数

MarkLogic TDE 数值数组拼接报错解决

问题根源

fn:string-join() 要求第一个入参必须是纯字符串序列,当types数组元素为数值类型时,直接传入序列会触发类型不匹配报错,无法正常执行拼接。

修复方案

在拼接前遍历数组所有元素,逐个转换为字符串类型后再执行拼接即可。
仅需修改模板中type列的val配置项,将原有表达式:

"val": "fn:string-join(./types, ', ')"

替换为:

"val": "fn:string-join(./types ! fn:string(.), ', ')"

表达式里的!是XQuery映射运算符,会遍历./types匹配到的所有节点,对每个节点执行fn:string(.)完成字符串转换,生成符合要求的字符串序列后再传入拼接函数。

兼容性说明

该写法同时适配字符串数组、数值数组、混合类型数组的拼接场景,修改后模板可正常通过tde.validate校验,执行tde.nodeDataExtract时,数值数组会返回1, 2, 3格式的拼接结果,和原字符串数组的表现完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:30:45