AtomicValue av1 = (AtomicValue)argument[0].evaluateItem(context);
long arity = -1;
if (argument.length == 2) {
arity = ((NumericValue)argument[1].evaluateItem(context)).longValue();
}
StringValue nameValue = (StringValue)av1;
String lexicalName = nameValue.getStringValue();
StructuredQName qName;
try {
if (lexicalName.indexOf(':') < 0) {
// we're in XSLT, where the default namespace for functions can't be changed
String uri = (operation == FUNCTION_AVAILABLE