public toString ( int index ) : System.String | ||
index | int | |
return | System.String |
public override System.String evalString(VTDNav vn) { String s = ""; int a = -1; vn.push2(); int size = vn.contextStack2.size; try { a = evalNodeSet(vn); if (a != -1) { int t = vn.getTokenType(a); switch (t) { case VTDNav.TOKEN_STARTING_TAG: case VTDNav.TOKEN_DOCUMENT: s = vn.getXPathStringVal2(a,(short)0); break; case VTDNav.TOKEN_ATTR_NAME: s = vn.toString(a + 1); break; case VTDNav.TOKEN_PI_NAME: //if (a + 1 < vn.vtdSize // || vn.getTokenType(a + 1) == VTDNav.TOKEN_PI_VAL) s = vn.toString(a + 1); break; default: s = vn.toString(a); break; } } } catch (Exception e) { } vn.contextStack2.size = size; reset(vn); vn.pop2(); return s; }
private String getNameSpaceURI(VTDNav vn) { if (argCount1 == 0) { try { int i = vn.getCurrentIndex(); int type = vn.getTokenType(i); if (vn.ns && (type == VTDNav.TOKEN_STARTING_TAG || type == VTDNav.TOKEN_ATTR_NAME)) { int a = vn.lookupNS(); if (a == 0) return ""; else return vn.toString(a); } return ""; } catch (Exception e) { return ""; } } else if (argCount1 == 1 && argumentList.e.NodeSet) { vn.push2(); int size = vn.contextStack2.size; int a = -1; try { a = argumentList.e.evalNodeSet(vn); } catch (Exception e) { } String s = ""; // return a; try { if (a == -1 || vn.ns == false) { } else { int type = vn.getTokenType(a); if (type == VTDNav.TOKEN_STARTING_TAG || type == VTDNav.TOKEN_ATTR_NAME) s = vn.toString(vn.lookupNS()); } } catch (Exception e) { }; vn.contextStack2.size = size; argumentList.e.reset(vn); vn.pop2(); return s; } else throw new System.ArgumentException ("namespace-uri()'s argument count is invalid"); }
public override int evalNodeSet(VTDNav vn) { switch (opCode) { case FuncName.CURRENT: if (state == START) { vn.loadCurrentNode(); state = END; return vn.getCurrentIndex2(); } else { return -1; } // break; case FuncName.DOCUMENT: if (argCount1 == 1) { if (!argumentList.e.NodeSet) { if (state == START) { String s = argumentList.e.evalString(vn); if (s.Length == 0) { newVN = xslVN; newVN.context[0] = -1; } else if (vg.parseFile(s, true)) { newVN = vg.getNav(); newVN.context[0] = -1; newVN.URIName = s; } else { state = END; return -1; } state = END; return 0; } else { return -1; } } else { try { if (state != END) { a = argumentList.e.evalNodeSet(vn); if (a != -1) { String s = vn.toString(getStringVal(vn, a)); if (s.Length == 0) { newVN = xslVN; newVN.context[0] = -1; } else if (vg.parseFile(s, true)) { newVN = vg.getNav(); newVN.context[0] = -1; newVN.URIName = s; } else { state = END; return -1; } state = END; return 0; } else { state = END; return -1; } } else return -1; } catch (NavException e) { } } } break; case FuncName.KEY: throw new XPathEvalException(" key() not yet implemented "); // break; } throw new XPathEvalException(" Function Expr can't eval to node set "); }
private System.String normalizeSpace(VTDNav vn) { if (argCount1 == 0) { String s = null; try { if (vn.atTerminal) { int ttype = vn.getTokenType(vn.LN); if (ttype == VTDNav.TOKEN_CDATA_VAL) s = vn.toRawString(vn.LN); else if (ttype == VTDNav.TOKEN_ATTR_NAME || ttype == VTDNav.TOKEN_ATTR_NS) { s = vn.toString(vn.LN + 1); } else s = vn.toString(vn.LN); } else { int i = vn.getCurrentIndex(); int t = vn.getTokenType(i); if (t == VTDNav.TOKEN_STARTING_TAG || t == VTDNav.TOKEN_DOCUMENT) { s = vn.toNormalizedXPathString(i); } else s = vn.toNormalizedString(i); } return normalize(s); } catch (NavException e) { return ""; // this will almost never occur } } else if (argCount1 == 1) { String s = ""; if (argumentList.e.NodeSet) { //boolean b = false; int a = evalFirstArgumentListNodeSet(vn); if (a == -1) return ""; else { try { int t = vn.getTokenType(a); if (t == VTDNav.TOKEN_STARTING_TAG || t == VTDNav.TOKEN_DOCUMENT) { s = vn.toNormalizedXPathString(a); } else s = vn.toNormalizedString(a); } catch (Exception e) { } return s; } } else { s = argumentList.e.evalString(vn); return normalize(s); } } throw new System.ArgumentException("normalize-space()'s argument count is invalid"); //return null; }
private String getString(VTDNav vn) { if (argCount1 == 0) try { if (vn.atTerminal) { if (vn.getTokenType(vn.LN) == VTDNav.TOKEN_CDATA_VAL) return vn.toRawString(vn.LN); return vn.toString(vn.LN); } return vn.getXPathStringVal(); } catch (NavException e) { return null; // this will almost never occur } else if (argCount1 == 1) { return argumentList.e.evalString(vn); } else throw new System.ArgumentException("String()'s argument count is invalid"); }
/* * (non-Javadoc) * * @see com.ximpleware.xpath.Expr#evalString(com.ximpleware.VTDNav) */ public override System.String evalString(VTDNav vn) { if (e.NodeSet == false) return e.evalString(vn); else { String s = ""; int a = -1; vn.push2(); int size = vn.contextStack2.size; try { a = evalNodeSet(vn); if (a != -1) { int t = vn.getTokenType(a); switch (t) { case VTDNav.TOKEN_STARTING_TAG: case VTDNav.TOKEN_DOCUMENT: s = vn.getXPathStringVal(); break; case VTDNav.TOKEN_ATTR_NAME: s = vn.toString(a + 1); break; case VTDNav.TOKEN_PI_NAME: //if (a + 1 < vn.vtdSize // || vn.getTokenType(a + 1) == VTDNav.TOKEN_PI_VAL) s = vn.toString(a + 1); break; default: s = vn.toString(a); break; } /*if (t == VTDNav.TOKEN_ATTR_NAME) { s = vn.toString(a + 1); } else if (t == VTDNav.TOKEN_STARTING_TAG || t == VTDNav.TOKEN_DOCUMENT) { s = vn.getXPathStringVal(); } else if (t == VTDNav.TOKEN_PI_NAME) { if (a + 1 < vn.vtdSize || vn.getTokenType(a + 1) == VTDNav.TOKEN_PI_VAL) s = vn.toString(a + 1); // s = vn.toString(a+1); } else s = vn.toString(a);*/ } } catch (Exception ee) { } vn.contextStack2.size = size; reset(vn); vn.pop2(); return s; } }
public override System.String evalString(VTDNav vn) { String s = ""; int a = 0x7fffffff, k = -1; vn.push2(); int size = vn.contextStack2.size; try { //a = evalNodeSet(vn); if (needReordering) { while ((k = evalNodeSet(vn)) != -1) { // a = evalNodeSet(vn); if (k < a) a = k; } if (a == 0x7fffffff) a = -1; } else { a = evalNodeSet(vn); } if (a != -1) { int t = vn.getTokenType(a); switch (t) { case VTDNav.TOKEN_STARTING_TAG: case VTDNav.TOKEN_DOCUMENT: s = vn.getXPathStringVal(); break; case VTDNav.TOKEN_ATTR_NAME: s = vn.toString(a + 1); break; case VTDNav.TOKEN_PI_NAME: //if (a + 1 < vn.vtdSize // || vn.getTokenType(a + 1) == VTDNav.TOKEN_PI_VAL) s = vn.toString(a + 1); break; default: s = vn.toString(a); break; } } } catch (Exception e) { } vn.contextStack2.size = size; reset(vn); vn.pop2(); return s; }
private System.String normalizeSpace(VTDNav vn) { if (argCount() == 0) { String s = null; try { if (vn.atTerminal) { int ttype = vn.getTokenType(vn.LN); if (ttype == VTDNav.TOKEN_CDATA_VAL) s = vn.toRawString(vn.LN); else if (ttype == VTDNav.TOKEN_ATTR_NAME || ttype == VTDNav.TOKEN_ATTR_NS) { s = vn.toString(vn.LN + 1); } else s = vn.toString(vn.LN); }else s = vn.toString(vn.getCurrentIndex()); return normalize(s); } catch (NavException e) { return ""; // this will almost never occur } } else if (argCount() == 1) { String s = argumentList.e.evalString(vn); return normalize(s); } throw new System.ArgumentException("normalize-space()'s argument count is invalid"); //return null; }
private String getName(VTDNav vn) { int a; if (argCount() == 0) { a = vn.getCurrentIndex(); int type = vn.getTokenType(a); if ((type == VTDNav.TOKEN_STARTING_TAG || type == VTDNav.TOKEN_ATTR_NAME)) { try { return vn.toString(a); } catch (Exception e) { return ""; } } else return ""; } else if (argCount() == 1) { a = -1; vn.push2(); try { a = argumentList.e.evalNodeSet(vn); argumentList.e.reset(vn); vn.pop2(); } catch (Exception e) { argumentList.e.reset(vn); vn.pop2(); } try { if (a == -1 || vn.ns == false) return ""; else { int type = vn.getTokenType(a); if (type == VTDNav.TOKEN_STARTING_TAG || type == VTDNav.TOKEN_ATTR_NAME) return vn.toString(a); return ""; } } catch (Exception e) { } return ""; } else throw new System.ArgumentException ("name()'s argument count is invalid"); }
public override System.String evalString(VTDNav vn) { vn.push2(); int size = vn.contextStack2.size; int a = - 1; try { a = evalNodeSet(vn); if (a != - 1) { if (vn.getTokenType(a) == VTDNav.TOKEN_ATTR_NAME) { a++; } if (vn.getTokenType(a) == VTDNav.TOKEN_STARTING_TAG) { a = vn.getText(); } } } catch (System.Exception e) { } vn.contextStack2.size = size; reset(vn); vn.pop2(); try { if (a != - 1) return vn.toString(a); } catch (NavException e) { } return ""; }