: Class LocationPathPattern
com.icl.saxon.pattern
Class LocationPathPattern
java.lang.Object
|
+--com.icl.saxon.pattern.Pattern
|
+--com.icl.saxon.pattern.LocationPathPattern
public final class LocationPathPattern extends Pattern
A LocationPathPattern represents a path, e.g. of the form A/B/C... The components are represented
as a linked list, each component pointing to its predecessor
Method Summary
void
addFilter (Expression filter)
Add a filter to the pattern (while under construction)
int
getFingerprint ()
Determine the fingerprint of nodes to which this pattern applies.
short
getNodeType ()
Determine the types of nodes to which this pattern applies.
boolean
isRelative ()
Determine if the pattern uses positional filters
boolean
matches (NodeInfo node,
Context context)
Determine whether this Pattern matches the given Node
boolean
matchesX (NodeInfo node,
Context context)
Determine whether the pattern matches a given node.
Pattern
simplify ()
Simplify the pattern: perform any context-independent optimisations
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
parentPattern
public Pattern parentPattern
ancestorPattern
public Pattern ancestorPattern
nodeTest
public NodeTest nodeTest
filters
protected Expression [] filters
numberOfFilters
protected int numberOfFilters
equivalentExpr
protected Expression equivalentExpr
firstElementPattern
protected boolean firstElementPattern
lastElementPattern
protected boolean lastElementPattern
specialFilter
protected boolean specialFilter
LocationPathPattern
public LocationPathPattern ()
addFilter
public void addFilter (Expression filter)
Add a filter to the pattern (while under construction)
Parameters: filter
- The predicate (a boolean expression or numeric expression) to be added
simplify
public Pattern simplify ()
throws XPathException
Simplify the pattern: perform any context-independent optimisations
Overrides: simplify
in class Pattern
Following copied from class: com.icl.saxon.pattern.Pattern
Returns: the optimised Pattern
matchesX
public boolean matchesX (NodeInfo node,
Context context)
throws XPathException
Determine whether the pattern matches a given node.
Parameters: node
- the node to be testedReturns: true if the pattern matches, else false
matches
public boolean matches (NodeInfo node,
Context context)
throws XPathException
Description copied from class: Pattern
Determine whether this Pattern matches the given Node
Overrides: matches
in class Pattern
Following copied from class: com.icl.saxon.pattern.Pattern
Parameters: node
- The NodeInfo representing the Element or other node to be tested against the Patterncontext
- The context in which the match is to take place. Only relevant if the pattern
uses variables.Returns: true if the node matches the Pattern, false otherwise
getNodeType
public short getNodeType ()
Determine the types of nodes to which this pattern applies. Used for optimisation.
For patterns that match nodes of several types, return Node.NODE
Overrides: getNodeType
in class Pattern
Returns: the type of node matched by this pattern. e.g. Node.ELEMENT or Node.TEXT
getFingerprint
public int getFingerprint ()
Determine the fingerprint of nodes to which this pattern applies.
Used for optimisation.
Overrides: getFingerprint
in class Pattern
Returns: the fingerprint of nodes matched by this pattern.
isRelative
public boolean isRelative ()
throws XPathException
Determine if the pattern uses positional filters
Returns: true if there is a numeric filter in the pattern, or one that uses the position()
or last() functions