标记逻辑内容泵 URI 包含方括号



我尝试使用 MLCP 导入和-output_uri_replace选项加载文档,例如

-output_uri_replace 
".*/,'',---,':',___,'/'" 

一切都很好,除了我需要在我的 URI 中保留方括号,MLCP 始终将它们编码为 %5B%5D

我已经尝试了不同的模式来强制它(或根本没有模式(,但没有办法......

-output_uri_replace
".*/,'',---,':',___,'/',[,'U+005B',],']'"

有同样经验或解决方案的人吗?:)

我也玩了一下,看起来-output_uri_replace是在 uri 编码之前执行的。撤消不需要的 uri 编码的唯一安全方法是使用转换。类似以下内容似乎可以解决问题:

xquery version "1.0-ml";
module namespace ingest = "http://marklogic.com/ingest-transform";
declare option xdmp:mapping "false";
declare function ingest:transform(
  $content as map:map,
  $context as map:map
) as map:map*
{
  let $uri := map:get($content, "uri")
  let $doc := map:get($content, "value")
  let $_ := map:put($content, "uri", fn:replace(fn:replace($uri, "%5B", "["), "%5D", "]"))
  return $content
};

哼!

相关内容

  • 没有找到相关文章