public XPathNavigatorHuge(VTDNavHuge nv, AutoPilotHuge apForEach, AutoPilotHuge apXPath, Options options) throws XPathEvalException, NavException, XPathEvalExceptionHuge, NavExceptionHuge, XPathParseExceptionHuge { this.vn = nv; this.apFE = apForEach; this.apXP = apXPath; if (apFE == null) { this.apFE = this.apXP; this.apXP = new AutoPilotHuge(vn); apXP.selectXPath("."); } this.options = options; }
final AutoPilotHuge ap = new AutoPilotHuge(vn); try { ap.selectXPath(forEachXpath); final int startIndex = ap.evalXPath(); if (startIndex == -1) LOG.debug("Couldn't find XPath: " + forEachXpath + " in document " + identifier); String fieldName = field.get(JulieXMLConstants.NAME); if (xPath != null) { AutoPilotHuge pilot = new AutoPilotHuge(vn); AutoPilotHuge pilotForEach = new AutoPilotHuge(vn); String fieldForEach = field.get(JulieXMLConstants.FOR_EACH); pilotForEach.selectXPath(xPath); pilot.selectXPath(xPath); if (fieldForEach != null) { pilotForEach = new AutoPilotHuge(vn); pilotForEach.selectXPath(fieldForEach); } else { pilot.selectXPath(".");
throw new XPathEvalExceptionHuge("can't run descendant " + "following, or following-sibling axis over comment(), pi(), and text()"); ap = new AutoPilotHuge(vn); if (currentStep.axis_type == AxisType.DESCENDANT_OR_SELF ) if (currentStep.nt.testType == NodeTest.NODE) ap.setSpecial(true); else ap.setSpecial(false); ap.selectElementNS(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) if (currentStep.nt.localName!=null) ap.selectElementNS_D(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) if (currentStep.nt.localName!=null) ap.selectElementNS_P(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_P(helper); else if (currentStep.nt.localName!=null) ap.selectElementNS_F(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_F(helper); vn.push2(); while(ap.iterate()){
+ "following, or following-sibling axis over comment(), pi(), and text()"); if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.setSpecial(true); else ap.setSpecial(false); ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) ap.selectElement_P(helper); else ap.selectElement_F(helper); currentStep.set_ft(false); while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; ap = (AutoPilotHuge) currentStep.o;
if (currentStep.get_ft() == true) { if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.selectAttrNS(currentStep.nt.URL, currentStep.nt.localName); else ap.selectAttr(currentStep.nt.nodeName); currentStep.set_ft(false); state = END; vn.setAtTerminal(true); while ((temp = ap.iterateAttr()) != -1) { if (currentStep.evalPredicates(vn)) { break; ap = (AutoPilotHuge) currentStep.o; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break;
throw new XPathEvalExceptionHuge("can't run descendant " + "following, or following-sibling axis over comment(), pi(), and text()"); ap = new AutoPilotHuge(vn); if (currentStep.axis_type == AxisType.DESCENDANT_OR_SELF ) if (currentStep.nt.testType == NodeTest.NODE) ap.setSpecial(true); else ap.setSpecial(false); ap.selectElementNS(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) if (currentStep.nt.localName!=null) ap.selectElementNS_D(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) if (currentStep.nt.localName!=null) ap.selectElementNS_P(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_P(helper); else if (currentStep.nt.localName!=null) ap.selectElementNS_F(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_F(helper); vn.push2(); while(ap.iterate()){
+ "following, or following-sibling axis over comment(), pi(), and text()"); if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.setSpecial(true); else ap.setSpecial(false); ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) ap.selectElement_P(helper); else ap.selectElement_F(helper); currentStep.set_ft(false); while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; ap = (AutoPilotHuge) currentStep.o;
if (currentStep.get_ft() == true) { if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.selectAttrNS(currentStep.nt.URL, currentStep.nt.localName); else ap.selectAttr(currentStep.nt.nodeName); currentStep.set_ft(false); state = END; vn.setAtTerminal(true); while ((temp = ap.iterateAttr()) != -1) { if (currentStep.evalPredicates(vn)) { break; ap = (AutoPilotHuge) currentStep.o; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break;
throw new XPathEvalExceptionHuge("can't run descendant " + "following, or following-sibling axis over comment(), pi(), and text()"); ap = new AutoPilotHuge(vn); if (currentStep.axis_type == AxisType.DESCENDANT_OR_SELF ) if (currentStep.nt.testType == NodeTest.NODE) ap.setSpecial(true); else ap.setSpecial(false); ap.selectElementNS(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) if (currentStep.nt.localName!=null) ap.selectElementNS_D(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) if (currentStep.nt.localName!=null) ap.selectElementNS_P(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_P(helper); else if (currentStep.nt.localName!=null) ap.selectElementNS_F(currentStep.nt.URL,currentStep.nt.localName); else ap.selectElement_F(helper); vn.push2(); while(ap.iterate()){
+ "following, or following-sibling axis over comment(), pi(), and text()"); if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.setSpecial(true); else ap.setSpecial(false); ap.selectElement(helper); else if (currentStep.axis_type == AxisType.DESCENDANT) ap.selectElement_D(helper); else if (currentStep.axis_type == AxisType.PRECEDING) ap.selectElement_P(helper); else ap.selectElement_F(helper); currentStep.set_ft(false); while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; while(ap.iterate()){ if (currentStep.evalPredicates(vn)){ b = true; ap = (AutoPilotHuge) currentStep.o;
if (currentStep.get_ft() == true) { if (currentStep.o == null) currentStep.o = ap = new AutoPilotHuge(vn); else { ap = (AutoPilotHuge) currentStep.o; ap.bind(vn); ap.selectAttrNS(currentStep.nt.URL, currentStep.nt.localName); else ap.selectAttr(currentStep.nt.nodeName); currentStep.set_ft(false); state = END; vn.setAtTerminal(true); while ((temp = ap.iterateAttr()) != -1) { if (currentStep.evalPredicates(vn)) { break; ap = (AutoPilotHuge) currentStep.o; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break; while( (temp = ap.iterateAttr()) != -1){ if (currentStep.evalPredicates(vn)){ break;