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

Xquery Marklogic未定义函数fn:string-pad(),xquery,marklogic,marklogic-9,Xquery,Marklogic,Marklogic 9,我尝试使用fn:stringpadXQuery函数,它抛出错误未定义函数,使用MarkLogicVersion9 fn:stringpad仅在XQuery的早期草稿中定义,后来被删除。2003年5月初的草案以0.9毫升方言获得支持。如果您有使用这种方言的XQuery模块,您应该将它们迁移到严格标准兼容的方言1.0或扩展版1.0-ml。我建议您使用后者,除非您有特殊原因不这样做。在某些情况下,将移除0.9-ml的支架。同时,您可以在模块顶部添加一个显式的版本声明,以使用旧的语法,从而保证这个过时函

我尝试使用fn:stringpadXQuery函数,它抛出错误未定义函数,使用MarkLogicVersion9

fn:stringpad仅在XQuery的早期草稿中定义,后来被删除。2003年5月初的草案以0.9毫升方言获得支持。如果您有使用这种方言的XQuery模块,您应该将它们迁移到严格标准兼容的方言1.0或扩展版1.0-ml。我建议您使用后者,除非您有特殊原因不这样做。在某些情况下,将移除0.9-ml的支架。同时,您可以在模块顶部添加一个显式的版本声明,以使用旧的语法,从而保证这个过时函数的可用性:xquery版本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,"")
};
fn:stringpad仅在XQuery的早期草稿中定义,后来被删除。2003年5月初的草案以0.9毫升方言获得支持。如果您有使用这种方言的XQuery模块,您应该将它们迁移到严格标准兼容的方言1.0或扩展版1.0-ml。我建议您使用后者,除非您有特殊原因不这样做。在某些情况下,将移除0.9-ml的支架。同时,您可以在模块顶部添加一个显式的版本声明,以使用旧的语法,从而保证这个过时函数的可用性:xquery版本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,"")
};
你也可以使用。不完全一样,但可能足够近了。该库中有很多有用的函数。您也可以使用。不完全一样,但可能足够近了。那个库中有很多有用的函数。