fn:string-pad()
был определен только в ранней версии XQuery и был позже удален. Этот ранний (май 2003 года) черновик был поддержан на диалекте 0.9-ml
. Если у вас есть модули 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,"")
};