XPathStringVal_Matches() protected method

protected XPathStringVal_Matches ( int j, String s ) : bool
j int
s String
return bool
Example #1
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");
        }
    }
Example #2
0
        private bool compareVV(int k, VTDNav vn, int j, int op)
        {
            int i = vn.XPathStringVal_Matches(k, vn, j);
            switch (i)
            {

                case -1:
                    if (op == NE || op == LT || op == LE)
                    {

                        return true;
                    }
                    break;
                case 0:
                    if (op == EQ || op == LE || op == GE)
                    {
                        return true;
                    }
                    break;
               
                case 1:
                    if (op == NE || op == GE || op == GT)
                    {

                        return true;
                    }
                    break;
            }
            return false;
        }