org.exolab.adaptx.xpath.expressions

Interface PathComponent

All Superinterfaces:
MatchExpression, XPathExpression
Known Subinterfaces:
LocationStep
Known Implementing Classes:
FilterBase

public interface PathComponent
extends XPathExpression, MatchExpression

A basic interface for LocationStep or FilterExpr
Version:
$Revision: 1.1 $ $Date: 2003/05/13 07:55:04 $
Author:
Keith Visco

Fields inherited from interface org.exolab.adaptx.xpath.XPathExpression

BOOLEAN, ERROR, FILTER_EXPR, LOCATION_PATH, NODE_TEST, NUMBER, PATH_EXPR, PRIMARY, STEP, STRING, UNION_EXPR

Method Summary

void
evaluatePredicates(NodeSet nodes, XPathContext context)
Evaluates the PredicateExpr of this PathComponent against the given NodeSet and XPathContext.
abstract double
getDefaultPriority()
Determines the priority of a PatternExpr as follows:
  From the 19991116 XSLT 1.0 Recommendation:
  + If the pattern has the form of a QName preceded by a
    ChildOrAttributeAxisSpecifier or has the form 
    processing-instruction(Literal) then the priority is 0.
PredicateExpr
getPredicate()
Returns the PredicateExpr of this PathComponent
boolean
hasPredicates()
Returns true if this PathComponent has predicates expressions.

Methods inherited from interface org.exolab.adaptx.xpath.expressions.MatchExpression

matches

Methods inherited from interface org.exolab.adaptx.xpath.XPathExpression

evaluate, getExprType, toString

Method Details

evaluatePredicates

public void evaluatePredicates(NodeSet nodes,
                               XPathContext context)
            throws XPathException
Evaluates the PredicateExpr of this PathComponent against the given NodeSet and XPathContext.
Parameters:
nodes - the current NodeSet
context - the XPathContext for use during evaluation.

getDefaultPriority

public abstract double getDefaultPriority()
Determines the priority of a PatternExpr as follows:
  From the 19991116 XSLT 1.0 Recommendation:
  + If the pattern has the form of a QName preceded by a
    ChildOrAttributeAxisSpecifier or has the form 
    processing-instruction(Literal) then the priority is 0.
  + If the pattern has the form NCName:* preceded by a 
    ChildOrAttributeAxisSpecifier, then the priority is -0.25
  + Otherwise if the pattern consists of just a NodeTest 
    preceded by a ChildOrAttributeAxisSpecifier then the
    priority is -0.5
  + Otherwise the priority is 0.5
 
Returns:
the priority for this PatternExpr

getPredicate

public PredicateExpr getPredicate()
Returns the PredicateExpr of this PathComponent
Returns:
the PredicateExpr of this PathComponent

hasPredicates

public boolean hasPredicates()
Returns true if this PathComponent has predicates expressions.
Returns:
true if this PathComponent has predicates expressions.