org.apache.xpath.functions

Class FuncPosition

Implemented Interfaces:
java.io.Serializable, ExpressionNode, SourceLocator, XPathVisitable

public class FuncPosition
extends Function

Execute the Position() function.
See Also:
Serialized Form

Method Summary

XObject
execute(XPathContext xctxt)
Execute the function.
void
fixupVariables(java.util.Vector vars, int globalsSize)
No arguments to process, so this does nothing.
int
getPositionInContextNodeList(XPathContext xctxt)
Get the position in the current context node list.
void
postCompileStep(Compiler compiler)
Figure out if we're executing a toplevel expression.

Methods inherited from class org.apache.xpath.functions.Function

callArgVisitors, callVisitors, checkNumberArgs, deepEquals, execute, postCompileStep, setArg

Methods inherited from class org.apache.xpath.Expression

asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, deepEquals, error, execute, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, fixupVariables, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr

Method Details

execute

public XObject execute(XPathContext xctxt)
            throws javax.xml.transform.TransformerException
Execute the function. The function must return a valid object.
Overrides:
execute in interface Function
Parameters:
xctxt - The current execution context.
Returns:
A valid XObject.

fixupVariables

public void fixupVariables(java.util.Vector vars,
                           int globalsSize)
No arguments to process, so this does nothing.
Overrides:
fixupVariables in interface Expression

getPositionInContextNodeList

public int getPositionInContextNodeList(XPathContext xctxt)
Get the position in the current context node list.
Parameters:
xctxt - Runtime XPath context.
Returns:
The current position of the itteration in the context node list, or -1 if there is no active context node list.

postCompileStep

public void postCompileStep(Compiler compiler)
Figure out if we're executing a toplevel expression. If so, we can't be inside of a predicate.
Overrides:
postCompileStep in interface Function

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