protected XPathStringVal_Matches ( int j, String s ) : bool | ||
j | int | |
s | String | |
return | bool |
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"); } }
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; }