Cause
XDMP-ARG
is usually thrown by API functions receiving invalid parameter values. For example, passing xdmp:hex-to-integer an input string that doesn't represent a valid hexadecimal number; or, passing a sequence as an external variable parameter to xdmp:eval or xdmp:invoke.