org.apache.commons.jxpath
Interface ExpressionContext
- AncestorContext, AttributeContext, ChildContext, DescendantContext, EvalContext, InitialContext, NamespaceContext, NodeSetContext, ParentContext, PrecedingOrFollowingContext, PredicateContext, RootContext, SelfContext, UnionContext
public interface ExpressionContext
If an extenstion function has an argument of type ExpressionContext,
it can gain access to the current node of an XPath expression context.
Example:
public class MyExtenstionFunctions {
public static String objectType(ExpressionContext context){
Object value = context.getContextNodePointer().getValue();
if (value == null){
return "null";
}
return value.getClass().getName();
}
}
You can then register this extension function using a
ClassFunctions
object and call it like this:
"/descendent-or-self::node()[ns:objectType() = 'java.util.Date']"
This expression will find all nodes of the graph that are dates.
getContextNodeList
public List getContextNodeList()
Get the current context node list. Each element of the list is
a Pointer.
- A list representing the current context nodes.
getContextNodePointer
public Pointer getContextNodePointer()
Get the current context node.
- The current context node pointer.
getJXPathContext
public JXPathContext getJXPathContext()
Get the JXPathContext in which this function is being evaluated.
- A list representing the current context nodes.
getPosition
public int getPosition()
Returns the current context position.