* Evaluate the function
*/
public Item evaluateItem(XPathContext context) throws XPathException {
AtomicValue sv = (AtomicValue)argument[0].evaluateItem(context);
if (sv==null) {
sv = StringValue.EMPTY_STRING;
}
String s = sv.getStringValue();
AtomicValue a1 = (AtomicValue)argument[1].evaluateItem(context);
NumericValue a = (NumericValue)a1.getPrimitiveValue();
if (argument.length==2) {
return new StringValue(substring(s, a));
} else {
AtomicValue b2 = (AtomicValue)argument[2].evaluateItem(context);
NumericValue b = (NumericValue)b2.getPrimitiveValue();
return new StringValue(substring(s, a, b, context));
}
}