org.apache.xpath

Class XPath

public class XPath extends Object implements Serializable, ExpressionOwner

The XPath class wraps an expression object and provides general services for execution of that expression.

UNKNOWN: advanced

Field Summary
static intMATCH
Represents a match type expression.
static doubleMATCH_SCORE_NODETEST
The match score if the pattern consists of just a NodeTest.
static doubleMATCH_SCORE_NONE
The match score if no match is made.
static doubleMATCH_SCORE_NSWILD
The match score if the pattern pattern has the form NCName:*.
static doubleMATCH_SCORE_OTHER
The match score if the pattern consists of something other than just a NodeTest or just a qname.
static doubleMATCH_SCORE_QNAME
The match score if the pattern has the form of a QName optionally preceded by an @ character.
static intSELECT
Represents a select type expression.
Constructor Summary
XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type, ErrorListener errorListener)
Construct an XPath object.
XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type, ErrorListener errorListener, FunctionTable aTable)
Construct an XPath object.
XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type)
Construct an XPath object.
XPath(Expression expr)
Construct an XPath object.
Method Summary
voidassertion(boolean b, String msg)
Tell the user of an assertion error, and probably throw an exception.
booleanbool(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.
voidcallVisitors(ExpressionOwner owner, XPathVisitor visitor)
This will traverse the heararchy, calling the visitor for each member.
voiderror(XPathContext xctxt, int sourceNode, String msg, Object[] args)
Tell the user of an error, and probably throw an exception.
XObjectexecute(XPathContext xctxt, Node contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.
XObjectexecute(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.
voidfixupVariables(Vector vars, int globalsSize)
This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
ExpressiongetExpression()
Get the raw Expression object that this class wraps.
SourceLocatorgetLocator()
Get the SourceLocator on the expression object.
doublegetMatchScore(XPathContext xctxt, int context)
Get the match score of the given node.
StringgetPatternString()
Return the XPath string associated with this object.
voidsetExpression(Expression exp)
Set the raw expression object for this object.
voidwarn(XPathContext xctxt, int sourceNode, String msg, Object[] args)
Warn the user of an problem.

Field Detail

MATCH

public static final int MATCH
Represents a match type expression.

MATCH_SCORE_NODETEST

public static final double MATCH_SCORE_NODETEST
The match score if the pattern consists of just a NodeTest.

UNKNOWN: advanced

MATCH_SCORE_NONE

public static final double MATCH_SCORE_NONE
The match score if no match is made.

UNKNOWN: advanced

MATCH_SCORE_NSWILD

public static final double MATCH_SCORE_NSWILD
The match score if the pattern pattern has the form NCName:*.

UNKNOWN: advanced

MATCH_SCORE_OTHER

public static final double MATCH_SCORE_OTHER
The match score if the pattern consists of something other than just a NodeTest or just a qname.

UNKNOWN: advanced

MATCH_SCORE_QNAME

public static final double MATCH_SCORE_QNAME
The match score if the pattern has the form of a QName optionally preceded by an @ character.

UNKNOWN: advanced

SELECT

public static final int SELECT
Represents a select type expression.

Constructor Detail

XPath

public XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type, ErrorListener errorListener)
Construct an XPath object. (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

Parameters: exprString The XPath expression. locator The location of the expression, may be null. prefixResolver A prefix resolver to use to resolve prefixes to namespace URIs. type one of {@link #SELECT} or {@link #MATCH}. errorListener The error listener, or null if default should be used.

Throws: javax.xml.transform.TransformerException if syntax or other error.

XPath

public XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type, ErrorListener errorListener, FunctionTable aTable)
Construct an XPath object. (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

Parameters: exprString The XPath expression. locator The location of the expression, may be null. prefixResolver A prefix resolver to use to resolve prefixes to namespace URIs. type one of {@link #SELECT} or {@link #MATCH}. errorListener The error listener, or null if default should be used.

Throws: javax.xml.transform.TransformerException if syntax or other error.

XPath

public XPath(String exprString, SourceLocator locator, PrefixResolver prefixResolver, int type)
Construct an XPath object. (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

Parameters: exprString The XPath expression. locator The location of the expression, may be null. prefixResolver A prefix resolver to use to resolve prefixes to namespace URIs. type one of {@link #SELECT} or {@link #MATCH}.

Throws: javax.xml.transform.TransformerException if syntax or other error.

XPath

public XPath(Expression expr)
Construct an XPath object.

Parameters: expr The Expression object.

Throws: javax.xml.transform.TransformerException if syntax or other error.

Method Detail

assertion

public void assertion(boolean b, String msg)
Tell the user of an assertion error, and probably throw an exception.

Parameters: b If false, a runtime exception will be thrown. msg The assertion message, which should be informative.

Throws: RuntimeException if the b argument is false.

bool

public boolean bool(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.

Parameters: xctxt The execution context. contextNode The node that "." expresses. namespaceContext The context in which namespaces in the XPath are supposed to be expanded.

Throws: TransformerException thrown if the active ProblemListener decides the error condition is severe enough to halt processing. javax.xml.transform.TransformerException

UNKNOWN: experimental

callVisitors

public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
This will traverse the heararchy, calling the visitor for each member. If the called visitor method returns false, the subtree should not be called.

Parameters: owner The owner of the visitor, where that path may be rewritten if needed. visitor The visitor whose appropriate method will be called.

error

public void error(XPathContext xctxt, int sourceNode, String msg, Object[] args)
Tell the user of an error, and probably throw an exception.

Parameters: xctxt The XPath runtime context. sourceNode Not used. msg An error msgkey that corresponds to one of the constants found in {@link org.apache.xpath.res.XPATHErrorResources}, which is a key for a format string. args An array of arguments represented in the format string, which may be null.

Throws: TransformerException if the current ErrorListoner determines to throw an exception.

execute

public XObject execute(XPathContext xctxt, Node contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.

Parameters: xctxt The execution context. contextNode The node that "." expresses. namespaceContext The context in which namespaces in the XPath are supposed to be expanded.

Returns: The result of the XPath or null if callbacks are used.

Throws: TransformerException thrown if the error condition is severe enough to halt processing. javax.xml.transform.TransformerException

UNKNOWN: experimental

execute

public XObject execute(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext)
Given an expression and a context, evaluate the XPath and return the result.

Parameters: xctxt The execution context. contextNode The node that "." expresses. namespaceContext The context in which namespaces in the XPath are supposed to be expanded.

Throws: TransformerException thrown if the active ProblemListener decides the error condition is severe enough to halt processing. javax.xml.transform.TransformerException

UNKNOWN: experimental

fixupVariables

public void fixupVariables(Vector vars, int globalsSize)
This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.

Parameters: vars List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).

getExpression

public Expression getExpression()
Get the raw Expression object that this class wraps.

Returns: the raw Expression object, which should not normally be null.

getLocator

public SourceLocator getLocator()
Get the SourceLocator on the expression object.

Returns: the SourceLocator on the expression object, which may be null.

getMatchScore

public double getMatchScore(XPathContext xctxt, int context)
Get the match score of the given node.

Parameters: xctxt XPath runtime context. context The current source tree context node.

Returns: score, one of {@link #MATCH_SCORE_NODETEST}, {@link #MATCH_SCORE_NONE}, {@link #MATCH_SCORE_OTHER}, or {@link #MATCH_SCORE_QNAME}.

Throws: javax.xml.transform.TransformerException

getPatternString

public String getPatternString()
Return the XPath string associated with this object.

Returns: the XPath string associated with this object.

setExpression

public void setExpression(Expression exp)
Set the raw expression object for this object.

Parameters: exp the raw Expression object, which should not normally be null.

warn

public void warn(XPathContext xctxt, int sourceNode, String msg, Object[] args)
Warn the user of an problem.

Parameters: xctxt The XPath runtime context. sourceNode Not used. msg An error msgkey that corresponds to one of the constants found in {@link org.apache.xpath.res.XPATHErrorResources}, which is a key for a format string. args An array of arguments represented in the format string, which may be null.

Throws: TransformerException if the current ErrorListoner determines to throw an exception.

Copyright B) 2005 Apache XML Project. All Rights Reserved.