| 136 | } |
| 137 | |
| 138 | private Iter valueIter(final Item item) throws QueryException { |
| 139 | final ValueBuilder vb = new ValueBuilder(qc); |
| 140 | final Iter keyIter = exprs[1].atomIter(qc, info); |
| 141 | for(Item key; (key = keyIter.next()) != null;) { |
| 142 | final Value items = item instanceof final JNode jnode ? jnode.value.item(qc, info) : item; |
| 143 | for(final Item it : items) { |
| 144 | if(!(it instanceof final XQStruct struct)) throw LOOKUP_X.get(info, it); |
| 145 | vb.add(key == WILDCARD ? struct.items(qc) : struct.invoke(qc, info, key)); |
| 146 | } |
| 147 | } |
| 148 | return vb.value().iter(); |
| 149 | } |
| 150 | }; |
| 151 | } |
| 152 | |