public Object evaluateSingle(String expression) throws net.sf.saxon.trans.XPathException {
Expression exp = ExpressionTool.make(expression, staticContext,0,-1,1, false);
ExpressionVisitor visitor = ExpressionVisitor.make(staticContext);
visitor.setExecutable(getExecutable());
exp = visitor.typeCheck(exp, Type.ITEM_TYPE);
SlotManager map = staticContext.getConfiguration().makeSlotManager();
ExpressionTool.allocateSlots(exp, 0, map);
XPathContextMajor context = new XPathContextMajor(contextNode, staticContext.getExecutable());
context.openStackFrame(map);
SequenceIterator iterator = exp.iterate(context);