Package org.exist.xquery

Examples of org.exist.xquery.Expression.eval()


  }
 
  private void processAll() throws XPathException {
    for(int i = 0; i < orderSpecs.length; i++) {
      final Expression expr = orderSpecs[i].getSortExpression();
      final NodeSet result = expr.eval(null).toNodeSet();
      for(final Iterator j = result.iterator(); j.hasNext(); ) {
        final NodeProxy p = (NodeProxy)j.next();
        ContextItem context = p.getContext();
        //TODO : review to consider transverse context
        while(context != null) {
View Full Code Here


      {contextSequence = contextItem.toSequence();}

        Sequence result;
        boolean processInMem = false;
        final Expression arg = getArgument(0);
    final Sequence idval = arg.eval(contextSequence);
   
    if(idval.isEmpty() || (getArgumentCount() == 1 && contextSequence != null && contextSequence.isEmpty()))
            {result = Sequence.EMPTY_SEQUENCE;}
        else {
        String nextId;
View Full Code Here

                {item.addContextNode(getExpressionId(), item);}
            }
          }

          // evaluate argument expression
          final Sequence argSeq = arg.eval(result);
          NodeSet argSet;
          if (contextId != Expression.NO_CONTEXT_ID) {
            argSet = argSeq.toNodeSet().getContextNodes(contextId);
          } else {
            argSet = argSeq.toNodeSet().getContextNodes(getExpressionId());
View Full Code Here

          } else {
        //are there 2 or 3 arguments to this function?
        if(getArgumentCount() > 2) {
          argLength = getArgument(2);
                    NumericValue length = new IntegerValue(sourceString.length());
                    length = ((NumericValue)(argLength.eval(contextSequence).itemAt(0).convertTo(Type.NUMBER))).round();

                    // Relocate length to position according to spec:
                    // fn:round($startingLoc) <=
                    // $p
                    // < fn:round($startingLoc) + fn:round($length)
View Full Code Here

            if (contextStep == null || preselectResult == null) {
                // no optimization: process the whole expression
                final NodeSet nodes =
                    path == null
                        ? contextSequence.toNodeSet()
                        : path.eval(contextSequence).toNodeSet();
                final List<String> terms = getSearchTerms(contextSequence);
                result = evalQuery(nodes, terms).toNodeSet();
            } else {
                contextStep.setPreloadedData(contextSequence.getDocumentSet(), preselectResult);
                result = path.eval(contextSequence).toNodeSet();
View Full Code Here

                        : path.eval(contextSequence).toNodeSet();
                final List<String> terms = getSearchTerms(contextSequence);
                result = evalQuery(nodes, terms).toNodeSet();
            } else {
                contextStep.setPreloadedData(contextSequence.getDocumentSet(), preselectResult);
                result = path.eval(contextSequence).toNodeSet();
            }
            if(canCache && contextSequence.isCacheable())
        {cached = new CachedResult(contextSequence, contextItem, result);}

    // otherwise we have to walk through each item in the context
View Full Code Here

        current = i.nextItem();
        final List<String> terms = getSearchTerms(contextSequence);
        nodes =
          path == null
          ? contextSequence.toNodeSet()
              : path
              .eval(current.toSequence()).toNodeSet();
        temp = evalQuery(nodes, terms);
        result.addAll(temp);
      }
    }
View Full Code Here

    final List<String> terms = new ArrayList<String>();
    Expression next;
    Sequence seq;
    for(int i = 1; i < getLength(); i++) {
      next = getArgument(i);
      seq = next.eval(contextSequence);
      if(seq.hasOne())
          {terms.add(translateRegexp(seq.itemAt(0).getStringValue()));}
      else {
        for(final SequenceIterator it = seq.iterate(); it.hasNext(); ) {
            terms.add(translateRegexp(it.nextItem().getStringValue()));
View Full Code Here

            //START workaround: evaluate global variables in modules, as they are reset by XQueryContext.reset()
            final Expression rootExpr = xqueryContext.getRootExpression();
            for(int i = 0; i < rootExpr.getSubExpressionCount(); i++) {
                final Expression subExpr = rootExpr.getSubExpression(i);
                if(subExpr instanceof VariableDeclaration) {
                    subExpr.eval(null);
                }
            }
            //END workaround
           
            //setup monitoring
View Full Code Here

    if (contextItem != null)
      {contextSequence = contextItem.toSequence();}
     
    final Sequence seq1 = arg0.eval(contextSequence);
    final Sequence seq2 = arg1.eval(contextSequence);

        String value;
        String cmp;
        Sequence result;
    if (seq1.isEmpty()) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.