Package org.exist.xquery

Examples of org.exist.xquery.Expression


            if (contextItem != null)
                {context.getProfiler().message(this, Profiler.START_SEQUENCES,
                        "CONTEXT ITEM", contextItem.toSequence());}
        }
       
    final Expression arg0 = getArgument(0);
    final Expression arg1 = getArgument(1);

    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


     * @see org.exist.xquery.Function#setArguments(java.util.List)
     */
    public void setArguments(List<Expression> arguments) throws XPathException {
        // wrap arguments into a cardinality check, so an error will be generated if
        // one of the arguments returns an empty sequence
        Expression arg = arguments.get(0);
        arg = new DynamicCardinalityCheck(context, Cardinality.ZERO_OR_MORE, arg,
                new Error(Error.FUNC_PARAM_CARDINALITY, "1", mySignature));
        steps.add(arg);
       
        arg = arguments.get(1);
View Full Code Here

        final List<LocationStep> steps = BasicExpressionVisitor.findLocationSteps(getArgument(0));
        if (!steps.isEmpty()) {
            LocationStep firstStep = steps.get(0);
            LocationStep lastStep = steps.get(steps.size() - 1);
            if (firstStep != null && steps.size() == 1 && firstStep.getAxis() == Constants.SELF_AXIS) {
                final Expression outerExpr = contextInfo.getContextStep();
                if (outerExpr != null && outerExpr instanceof LocationStep) {
                    final LocationStep outerStep = (LocationStep) outerExpr;
                    final NodeTest test = outerStep.getTest();
                    if (!test.isWildcardTest() && test.getName() != null) {
                        contextQName = new QName(test.getName());
View Full Code Here

    public NodeSet preSelect(Sequence contextSequence, boolean useContext) throws XPathException {
        // the expression can be called multiple times, so we need to clear the previous preselectResult
        preselectResult = null;
        // get the search terms
        final Expression termsExpr = getArgument(1);
        final Expression flagsExpr = (getArgumentCount() == 3) ? getArgument(2) : null;
        final boolean matchAll = getMatchFlag(flagsExpr, contextSequence);
        final List<String> terms = getSearchTerms(termsExpr, contextSequence);

        // lookup the terms in the fulltext index. returns one node set for each term
        final NodeSet[] hits = getMatches(contextSequence.getDocumentSet(),
View Full Code Here

      {contextSequence = contextItem.toSequence();}

        if (preselectResult == null && !checkForQNameIndex(contextSequence))
            {contextQName = null;}

        final Expression path = getArgument(0);
        final Expression termsExpr = getArgument(1);
        final Expression flagsExpr = (getArgumentCount() == 3) ? getArgument(2) : null;
        final boolean matchAll = getMatchFlag(flagsExpr, contextSequence);

        NodeSet result;
    // if the expression does not depend on the current context item,
    // we can evaluate it in one single step
View Full Code Here

  public Map<QName, Variable> getVariables() {
    if (stack.size() == 0)
      return new HashMap<QName, Variable>();
     
    Expression expr = stack.get(0);
    return expr.getContext().getVariables();
  }
View Full Code Here

  public Map<QName, Variable> getLocalVariables() {
    if (stack.size() == 0)
      return new HashMap<QName, Variable>();
     
    Expression expr = stack.get(0);
    return expr.getContext().getLocalVariables();
  }
View Full Code Here

 
  public Map<QName, Variable> getGlobalVariables() {
    if (stack.size() == 0)
      return new HashMap<QName, Variable>();
     
    Expression expr = stack.get(0);
    return expr.getContext().getGlobalVariables();
  }
View Full Code Here

      return null;
   
    if (stack.size() == 0)
      return null;
     
    Expression expr = stack.get(0);
    try {
      if (name.startsWith("$"))
        return expr.getContext().resolveVariable(name.substring(1));
     
      return expr.getContext().resolveVariable(name);
    } catch (XPathException e) {
      return null;
    }
  }
View Full Code Here

  private StringBuilder stackToString(int index) {
    StringBuilder result = new StringBuilder();
    if (stacks == null || stacks.size() == 0)
      return result;
   
    Expression expr = stacks.get(index);
    if (expr == null)
      return result;
   
    int level = stacks.size() - index - 1;
   
    result.append("<stack level=\"");
    result.append(String.valueOf(level));
    result.append("\" lineno=\"");
    result.append(expr.getLine());
    result.append("\" type=\"file\" filename=\"");
    result.append(getFileuri(expr.getSource()));
    result.append("\" ");
//          +
//          "where=\"\" " +
    result.append("cmdbegin=\"");
    result.append(expr.getLine());
    result.append(":");
    result.append(expr.getColumn());
    result.append("\"  />");
//          "cmdend=\""+(expr.getLine())+":"+(expr.getColumn()+1)+"\"/>";
    return result;
  }
View Full Code Here

TOP

Related Classes of org.exist.xquery.Expression

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.