org.exolab.adaptx.xpath.expressions
Interface PathComponent

All Superinterfaces:
MatchExpression, XPathExpression
All Known Subinterfaces:
LocationStep
All 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

Field Summary
 
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.
 double getDefaultPriority()
          Determines the priority of a PatternExpr as follows:
 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.XPathExpression
evaluate, getExprType, toString
 
Methods inherited from interface org.exolab.adaptx.xpath.expressions.MatchExpression
matches
 

Method Detail

getDefaultPriority

public 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

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.
XPathException

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.