Beispiel #1
0
        private bool compNodeSetNumerical(Expr left, Expr right, VTDNav vn, int op)
        {
            int    i, i1 = 0, stackSize;
            double d;

            try {
                d = right.evalNumber(vn);
                vn.push2();
                stackSize = vn.contextStack2.size;
                while ((i = left.evalNodeSet(vn)) != -1)
                {
                    //i1 = getStringVal(vn,i);
                    if (compareVNumber2(i, vn, d, op))
                    {
                        left.reset(vn);
                        vn.contextStack2.size = stackSize;
                        vn.pop2();
                        return(true);
                    }
                }
                vn.contextStack2.size = stackSize;
                vn.pop2();
                left.reset(vn);
                return(false);
            } catch (Exception e) {
                throw new System.SystemException("Undefined behavior");
            }
        }
Beispiel #2
0
        private bool compNodeSetNodeSet(Expr left, Expr right, VTDNav vn, int op)
        {
            int i, i1 = 0, stackSize, s1;

            try
            {
                if (fib1 == null)
                {
                    fib1 = new FastIntBuffer(BUF_SZ_EXP);
                }
                vn.push2();
                stackSize = vn.contextStack2.size;
                while ((i = left.evalNodeSet(vn)) != -1)
                {
                    i1 = getStringVal(vn, i);
                    if (i1 != -1)
                    {
                        fib1.append(i1);
                    }
                }
                left.reset(vn);
                vn.contextStack2.size = stackSize;
                vn.pop2();
                vn.push2();
                stackSize = vn.contextStack2.size;
                while ((i = right.evalNodeSet(vn)) != -1)
                {
                    i1 = getStringVal(vn, i);
                    if (i1 != -1)
                    {
                        s1 = fib1.size_Renamed_Field;
                        for (int k = 0; k < s1; k++)
                        {
                            bool b = compareVV(fib1.intAt(k), vn, i1, op);
                            if (b)
                            {
                                fib1.size_Renamed_Field = 0;
                                vn.contextStack2.size   = stackSize;
                                vn.pop2();
                                right.reset(vn);
                                return(true);
                            }
                        }
                    }
                }
                vn.contextStack2.size = stackSize;
                vn.pop2();
                right.reset(vn);
                fib1.size_Renamed_Field = 0;
                return(false);
            }
            catch (Exception e)
            {
                fib1.size_Renamed_Field = 0;
                throw new System.SystemException("Undefined behavior");
            }
        }
Beispiel #3
0
        private bool compNodeSetString(Expr left, Expr right, VTDNav vn, int op)
        {
            int    i, i1 = 0, stackSize;
            String s;

            try
            {
                s = right.evalString(vn);
                vn.push2();
                stackSize = vn.contextStack2.size;
                while ((i = left.evalNodeSet(vn)) != -1)
                {
                    int t = vn.getTokenType(i);
                    if (t != VTDNav.TOKEN_STARTING_TAG &&
                        t != VTDNav.TOKEN_DOCUMENT)
                    {
                        i1 = getStringVal(vn, i);
                        // if (i1==-1 && s.length()==0)
                        //return true;
                        if (i1 != -1)
                        {
                            bool b = compareVString1(i1, vn, s, op);
                            if (b)
                            {
                                left.reset(vn);
                                vn.contextStack2.size = stackSize;
                                vn.pop2();
                                return(b);
                            }
                        }
                    }
                    else
                    {
                        bool b = vn.XPathStringVal_Matches(i, s);
                        if (b)
                        {
                            left.reset(vn);
                            vn.contextStack2.size = stackSize;
                            vn.pop2();
                            return(b);
                        }
                    }
                }
                vn.contextStack2.size = stackSize;
                vn.pop2();
                left.reset(vn);
                return(false); // compareEmptyNodeSet(op, s);
            }
            catch (Exception e)
            {
                throw new System.SystemException("Undefined behavior");
            }
        }
Beispiel #4
0
 public void reset2(VTDNav vn)
 {
     out_of_range = false;
     e.reset(vn);
     p.reset(vn);
     //fib.size_Renamed_Field=0;
 }
Beispiel #5
0
 public override void  reset(VTDNav vn)
 {
     fe.reset(vn);
     lpe.reset(vn);
     //fib.size_Renamed_Field=0;
     ih.reset();
     evalState = 0;
 }
Beispiel #6
0
 public override void reset(VTDNav vn)
 {
     left.reset(vn); right.reset(vn);
 }
Beispiel #7
0
    private bool compStringNodeSet(Expr left, Expr right, VTDNav vn, int op)
    {
        int i, i1 = 0, stackSize;
        String s;
        try
        {
            s = left.evalString(vn);
            vn.push2();
            stackSize = vn.contextStack2.size;
            while ((i = right.evalNodeSet(vn)) != -1)
            {
                    int t = vn.getTokenType(i);
                    if (t != VTDNav.TOKEN_STARTING_TAG
                            && t != VTDNav.TOKEN_DOCUMENT)
                    {

                        i1 = getStringVal(vn, i);
                        if (i1 != -1)
                        {
                            bool b = compareVString2(i1, vn, s, op);
                            if (b)
                            {
                                right.reset(vn);
                                vn.contextStack2.size = stackSize;
                                vn.pop2();
                                return b;
                            }
                        }
                    }
                    else
                    {
                        bool b = vn.XPathStringVal_Matches(i, s);
                        if (b)
                        {
                            right.reset(vn);
                            vn.contextStack2.size = stackSize;
                            vn.pop2();
                            return b;
                        }
                    }
                }
            vn.contextStack2.size = stackSize;
            vn.pop2();
            right.reset(vn);
            return false;// compareEmptyNodeSet(op, s);
        }
        catch (Exception e)
        {
            throw new System.SystemException("Undefined behavior");
        }
    }
Beispiel #8
0
	private bool compNodeSetNumerical(Expr left, Expr right, VTDNav vn, int op ){
	     int i, i1 = 0, stackSize;
	     double d;
       try {
           d = right.evalNumber(vn);
           vn.push2();
           stackSize = vn.contextStack2.size;
           while ((i = left.evalNodeSet(vn)) != -1) {
               //i1 = getStringVal(vn,i); 
               if (compareVNumber2(i,vn,d,op)){
                   left.reset(vn);
                   vn.contextStack2.size = stackSize;
                   vn.pop2();
                   return true;
               }
           }    
           vn.contextStack2.size = stackSize;
           vn.pop2();
           left.reset(vn);            
           return false; 
       } catch (Exception e) {
           throw new System.SystemException("Undefined behavior");
       }
	}
Beispiel #9
0
 private bool compNodeSetNodeSet(Expr left, Expr right, VTDNav vn, int op)
 {
     int i, i1 = 0, stackSize, s1;
     try
     {
         if (fib1 == null)
             fib1 = new FastIntBuffer(BUF_SZ_EXP);
         vn.push2();
         stackSize = vn.contextStack2.size;
         while ((i = left.evalNodeSet(vn)) != -1)
         {
             i1 = getStringVal(vn, i);
             if (i1 != -1)
                 fib1.append(i1);
         }
         left.reset(vn);
         vn.contextStack2.size = stackSize;
         vn.pop2();
         vn.push2();
         stackSize = vn.contextStack2.size;
         while ((i = right.evalNodeSet(vn)) != -1)
         {
             i1 = getStringVal(vn, i);
             if (i1 != -1)
             {
                 s1 = fib1.size_Renamed_Field;
                 for (int k = 0; k < s1; k++)
                 {
                     bool b = compareVV(fib1.intAt(k), vn, i1, op);
                     if (b)
                     {
                         fib1.size_Renamed_Field=0;
                         vn.contextStack2.size = stackSize;
                         vn.pop2();
                         right.reset(vn);
                         return true;
                     }
                 }
             }
         }
         vn.contextStack2.size = stackSize;
         vn.pop2();
         right.reset(vn);
         fib1.size_Renamed_Field=0;
         return false;
     }
     catch (Exception e)
     {
         fib1.size_Renamed_Field=0;
         throw new System.SystemException("Undefined behavior");
     }
 }
Beispiel #10
0
 private bool compStringNodeSet(Expr left, Expr right, VTDNav vn, int op)
 {
     int i, i1 = 0, stackSize;
     String s;
     try
     {
     s = left.evalString(vn);
     vn.push2();
     stackSize = vn.contextStack2.size;
     while ((i = right.evalNodeSet(vn)) != -1)
     {
         i1 = getStringVal(vn, i);
         if (i1 != -1)
         {
             bool b = compareVString2(i1, vn, s, op);
             if (b)
             {
                 right.reset(vn);
                 vn.contextStack2.size = stackSize;
                 vn.pop2();
                 return b;
             }
         }
     }
     vn.contextStack2.size = stackSize;
     vn.pop2();
     right.reset(vn);
     return false;// compareEmptyNodeSet(op, s);
     }
     catch (Exception e)
     {
     throw new System.SystemException("Undefined behavior");
     }
 }