@Override public Iter iter(final QueryContext qc) throws QueryException { final Iter ir = exprs[0].iter(qc); final long len = ir.size(); if (len == 0) throw ONEORMORE.get(info); if (len > 0) return ir; return new Iter() { private boolean first = true; @Override public Item next() throws QueryException { final Item it = ir.next(); if (first) { if (it == null) throw ONEORMORE.get(info); first = false; } return it; } }; }
@Override public Value value(final QueryContext qc) throws QueryException { final Value val = qc.value(exprs[0]); if (val.isEmpty()) throw ONEORMORE.get(info); return val; }