Package xbird.xquery.dm.value

Examples of xbird.xquery.dm.value.Sequence


            super.staticAnalysis(statEnv);
            func.staticAnalysis(statEnv, _params);
            this._type = func.getReturnType(_params);
            final EvaluationPolicy evalPolicy = func.getEvaluationPolicy();
            if(evalPolicy == EvaluationPolicy.eager) {
                Sequence preEvaled = eval(ValueSequence.EMPTY_SEQUENCE, new DynamicContext(statEnv));
                return new PreEvaluatedVariable(preEvaled, _type);
            } else if(evalPolicy == EvaluationPolicy.rewritten) {
                XQExpression rewritted = func.rewrite(_params, statEnv);
                XQExpression analyzed = rewritted.staticAnalysis(statEnv);
                return analyzed;
View Full Code Here


        } else {
            argv = new ValueSequence(dynEnv);
            FunctionSignature sign = func.getFunctionSignature(arity);
            for(int i = 0; i < arity; i++) {
                XQExpression p = _params.get(i);
                Sequence seq = p.eval(contextSeq, dynEnv);
                Sequence converted = mapFunctionArgument(seq, sign.getArgumentType(i), dynEnv);
                argv.addItem(SingleCollection.wrap(converted, dynEnv));
            }
        }
        return func.eval(contextSeq, argv, dynEnv);
    }
View Full Code Here

        Item firstItem = argv.getItem(0);
        if(firstItem.isEmpty()) {
            return ValueSequence.EMPTY_SEQUENCE;
        }
        final String query = firstItem.stringValue();
        final Sequence res = evaluateQuery(query, dynEnv);
        return res;
    }
View Full Code Here

        Module mod = parser.parse();
        // static analysis
        mod.staticAnalysis(sc);
        // evaluate
        XQExpression body = mod.getExpression();
        Sequence res = body.eval(ValueSequence.EMPTY_SEQUENCE, dynEnv);
        return res;
    }
View Full Code Here

        public boolean next(IFocus focus) throws XQueryException {
            final Iterator<? extends Item> itor = focus.getBaseFocus();
            while(itor.hasNext()) {
                final Item it = itor.next();
                final Sequence cond = predicate.eval(it, _dynEnv);
                if(!cond.isEmpty()) {
                    focus.setContextItem(it);
                    focus.setReachedEnd(true);
                    return true;
                }
            }
View Full Code Here

    }

    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        for(XQExpression e : _exprs) {
            Sequence s = e.eval(contextSeq, dynEnv);
            if(!FnBoolean.effectiveBooleanValue(s)) {
                return BooleanValue.FALSE;
            }
        }
        return BooleanValue.TRUE;
View Full Code Here

                dynEnv.pushSequence(_delegate);

                // evaluates predicate
                IFocus baseFocus = dynEnv.getFocus();
                dynEnv.setFocus(focus); // change focus
                Sequence cond = predicate.eval(it, dynEnv);
                dynEnv.setFocus(baseFocus);

                // workaround for fn:last()
                dynEnv.popSequence();
View Full Code Here

        return this;
    }

    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        Sequence contents = expr.eval(contextSeq, dynEnv);
        DMDocument doc = XQueryDataModel.createDocument(dynEnv.getStaticContext().getBaseURIString(), contents);
        return doc;
    }
View Full Code Here

            throws XQueryException {
        final Item v1 = _expr.evalAsItem(contextSeq, dynEnv, true);
        if(v1 == null) {
            return ValueSequence.EMPTY_SEQUENCE;
        }
        Sequence res = _op.eval(dynEnv, v1);
        return res;
    }
View Full Code Here

    }

    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        for(XQExpression e : _exprs) {
            Sequence s = e.eval(contextSeq, dynEnv);
            if(FnBoolean.effectiveBooleanValue(s)) {
                return BooleanValue.TRUE;
            }
        }
        return BooleanValue.FALSE;
View Full Code Here

TOP

Related Classes of xbird.xquery.dm.value.Sequence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.