if (step.getAxis() == Compiler.AXIS_SELF) { NodeTest nodeTest = step.getNodeTest(); if (!(nodeTest instanceof NodeTypeTest)) { return false; return false; return areBasicPredicates(step.getPredicates()); if (step.getAxis() == Compiler.AXIS_CHILD || step.getAxis() == Compiler.AXIS_ATTRIBUTE) { NodeTest nodeTest = step.getNodeTest(); if (!(nodeTest instanceof NodeNameTest)) { return false; return false; return areBasicPredicates(step.getPredicates());
public Object step(int axis, Object nodeTest, Object[] predicates) { return new Step( axis, (NodeTest) nodeTest, toExpressionArray(predicates)); }
public String toString() { StringBuffer buffer = new StringBuffer(); int axis = getAxis(); if (axis == Compiler.AXIS_CHILD) { buffer.append(nodeTest); buffer.append(axisToString(axis)); buffer.append("::"); buffer.append(nodeTest); Expression[] predicates = getPredicates(); if (predicates != null) { for (int i = 0; i < predicates.length; i++) {
/** * Learn whether arg is a name attribute test. * @param arg Expression to test * @return boolean */ private boolean isNameAttributeTest(Expression arg) { if (!(arg instanceof LocationPath)) { return false; } Step[] steps = ((LocationPath) arg).getSteps(); if (steps.length != 1) { return false; } if (steps[0].getAxis() != Compiler.AXIS_ATTRIBUTE) { return false; } NodeTest test = steps[0].getNodeTest(); if (!(test instanceof NodeNameTest)) { return false; } if (!((NodeNameTest) test).getNodeName().equals(QNAME_NAME)) { return false; } return true; } }
int axis = getAxis(step.getAxis()); NodeTest nodeTest = step.getNodeTest(); Expression[] predicates = step.getPredicates(); String name = null; StepNodeTest stepNodeTest = null; } else { XPathException xpe = new XPathException( mMsgMgr.getString("Invalid_Location_Step", step.toString())); mLogger.log(Level.FINEST, "processStep", xpe); throw xpe;
Step[] steps, int currentStep) { Step step = steps[currentStep]; Expression[] predicates = step.getPredicates(); int axis = step.getAxis(); if (axis == Compiler.AXIS_SELF) { return doPredicate(
Step[] steps, int currentStep) { Step step = steps[currentStep]; Expression[] predicates = step.getPredicates();
Step step = steps[currentStep]; if (step.getAxis() == Compiler.AXIS_SELF) { return doStep(context, parentPointer, steps, currentStep + 1);
public boolean computeContextDependent() { if (steps != null) { for (int i = 0; i < steps.length; i++) { if (steps[i].isContextDependent()) { return true; } } } return false; }
NodePointer pointer, Step step) { if (step.getAxis() == Compiler.AXIS_CHILD) { NodeTest nodeTest = step.getNodeTest(); QName qname = ((NodeNameTest) nodeTest).getNodeName(); String prefix = qname.getPrefix(); if (!(step.getNodeTest() instanceof NodeNameTest)) { throw new UnsupportedOperationException( "Not supported node test for attributes: " + step.getNodeTest()); ((NodeNameTest) step.getNodeTest()).getNodeName());
Expression[] predicates = step.getPredicates();
createContextForStep( context, steps[i].getAxis(), steps[i].getNodeTest()); Expression[] predicates = steps[i].getPredicates(); if (predicates != null) { for (int j = 0; j < predicates.length; j++) {
/** * Create the child pointer for a given step. * @param parentPointer parent pointer * @param step associated step * @return NodePointer */ private static NodePointer createChildPointerForStep( PropertyOwnerPointer parentPointer, Step step) { int axis = step.getAxis(); if (axis == Compiler.AXIS_CHILD || axis == Compiler.AXIS_ATTRIBUTE) { QName name = ((NodeNameTest) step.getNodeTest()).getNodeName(); if (axis == Compiler.AXIS_ATTRIBUTE && isLangAttribute(name)) { return new LangAttributePointer(parentPointer); } if (parentPointer.isValidProperty(name)) { NodePointer childPointer = parentPointer.getPropertyPointer(); ((PropertyPointer) childPointer).setPropertyName( name.toString()); childPointer.setAttribute(axis == Compiler.AXIS_ATTRIBUTE); return childPointer; } //invalid property gets nothing, not even a NullPointer return null; } return parentPointer; }
int axis = step.getAxis(); if (axis == Compiler.AXIS_CHILD || axis == Compiler.AXIS_ATTRIBUTE) { NullPropertyPointer pointer = new NullPropertyPointer(parent); QName name = ((NodeNameTest) step.getNodeTest()).getNodeName(); pointer.setPropertyName(name.toString()); pointer.setAttribute(axis == Compiler.AXIS_ATTRIBUTE); Expression[] predicates = step.getPredicates(); return createNullPointerForPredicates( context,