public Object step(int axis, Object nodeTest, Object[] predicates) { return new Step( axis, (NodeTest) nodeTest, toExpressionArray(predicates)); }
public Object and(Object[] arguments) { return new CoreOperationAnd(toExpressionArray(arguments)); }
public Object function(int code, Object[] args) { return new CoreFunction(code, toExpressionArray(args)); }
public Object function(Object name, Object[] args) { return new ExtensionFunction((QName) name, toExpressionArray(args)); }
public Object union(Object[] arguments) { return new CoreOperationUnion(toExpressionArray(arguments)); }
public Object sum(Object[] arguments) { return new CoreOperationAdd(toExpressionArray(arguments)); }
public Object or(Object[] arguments) { return new CoreOperationOr(toExpressionArray(arguments)); }
public Object expressionPath(Object expression, Object[] predicates, Object[] steps) { return new ExpressionPath( (Expression) expression, toExpressionArray(predicates), toStepArray(steps)); }