Marklogic 未定义函数 fn:string-pad()

Marklogic undefined function fn:string-pad()

我尝试使用 fn:string-pad() xquery 函数它抛出错误未定义函数,使用 Marklogic 版本 9

https://docs.marklogic.com/fn:string-pad

fn:string-pad() 仅在 XQuery 的早期草案中定义,后来被删除。 0.9-ml 方言支持早期(2003 年 5 月)的草案。如果您有使用这种方言的 XQuery 模块,您真的应该将它们迁移到严格符合标准的方言 1.0 或扩展版本 1.0-ml。我会推荐后者,除非你有特殊的理由不这样做。在某些时候将删除对 0.9-ml 的支持。同时,您可以在模块顶部添加显式版本声明以使用旧语法(因此可以使用此过时函数):xquery version "0.9-ml"

特别是关于这个函数:它被删除是因为它写起来很简单,即使有所有的错误检查:

declare function local:string-pad($pad-string as xs:string?, $pad-count as xs:integer) as xs:string?
{
  if (empty($pad-string)) then ()
  else if ($pad-count lt 0) then error((),"Invalid pad count")
  else if ($pad-count eq 0) then ""
  else string-join(for $i in 1 to $pad-count return $pad-string,"")
};