Package com.icl.saxon.pattern
Class Pattern
- java.lang.Object
-
- com.icl.saxon.pattern.Pattern
-
- Direct Known Subclasses:
IDPattern
,KeyPattern
,LocationPathPattern
,NodeTest
,UnionPattern
public abstract class Pattern extends java.lang.Object
A Pattern represents the result of parsing an XSLT pattern string.
Patterns are created by calling the static method Pattern.make(string).
The pattern is used to test a particular node by calling match().
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
originalText
protected StaticContext
staticContext
-
Constructor Summary
Constructors Constructor Description Pattern()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double
getDefaultPriority()
Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.int
getFingerprint()
Determine the name fingerprint of nodes to which this pattern applies.int
getLineNumber()
Get the line number on which the pattern was definedshort
getNodeType()
Determine the types of nodes to which this pattern applies.StaticContext
getStaticContext()
Determine the static context used when the pattern was parsedjava.lang.String
getSystemId()
Get the system id of the entity in which the pattern occurredstatic Pattern
make(java.lang.String pattern, StaticContext env)
Static method to make a Pattern by parsing a String.abstract boolean
matches(NodeInfo node, Context context)
Determine whether this Pattern matches the given Nodevoid
setOriginalText(java.lang.String text)
Set the original text of the pattern for use in diagnosticsvoid
setStaticContext(StaticContext sc)
Set the static context used when the pattern was parsedPattern
simplify()
Simplify the pattern by applying any context-independent optimisations.java.lang.String
toString()
Get the original pattern text
-
-
-
Field Detail
-
staticContext
protected StaticContext staticContext
-
originalText
protected java.lang.String originalText
-
-
Method Detail
-
make
public static Pattern make(java.lang.String pattern, StaticContext env) throws XPathException
Static method to make a Pattern by parsing a String.- Parameters:
pattern
- The pattern text as a Stringenv
- An object defining the compile-time context for the expression- Returns:
- The pattern object
- Throws:
XPathException
-
setOriginalText
public void setOriginalText(java.lang.String text)
Set the original text of the pattern for use in diagnostics
-
simplify
public Pattern simplify() throws XPathException
Simplify the pattern by applying any context-independent optimisations. Default implementation does nothing.- Returns:
- the optimised Pattern
- Throws:
XPathException
-
setStaticContext
public final void setStaticContext(StaticContext sc)
Set the static context used when the pattern was parsed
-
getStaticContext
public StaticContext getStaticContext()
Determine the static context used when the pattern was parsed
-
matches
public abstract boolean matches(NodeInfo node, Context context) throws XPathException
Determine whether this Pattern matches the given Node- 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
- Throws:
XPathException
-
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 NodeInfo.NODE- Returns:
- the type of node matched by this pattern. e.g. NodeInfo.ELEMENT or NodeInfo.TEXT
-
getFingerprint
public int getFingerprint()
Determine the name fingerprint of nodes to which this pattern applies. Used for optimisation.- Returns:
- A fingerprint that the nodes must match, or null Otherwise return null.
-
getDefaultPriority
public double getDefaultPriority()
Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.
-
getSystemId
public java.lang.String getSystemId()
Get the system id of the entity in which the pattern occurred
-
getLineNumber
public int getLineNumber()
Get the line number on which the pattern was defined
-
toString
public java.lang.String toString()
Get the original pattern text- Overrides:
toString
in classjava.lang.Object
-
-