Hi there, I think this is a really easy question... sorry for this... I have created my own function as below.... package com.blah.function; public class Calculate { public static Calculation doCalculation(ExpressionContext context, int x) { //stuff goes in here... } } I've also registered it with the JXPathContext as below... jxPathContext.setFunctions(new PackageFunctions("com.blah.function.", "jxpath")); I see how this works programatically, but not in an expression. For example, if I want to find a node and then use that node in doCalculation... how? '/Something/I/CanFind' then I want to run 'doCalculation(6)' on the result of the previous query's result. I would have thought this would be something like the following but I am obviously wrong... jxpath:Calculate.doCalculation(/Something/I/CanFind,6); /Something/I/CanFind[jxpath:Calculate.doCalculation(6)]; Once an "ExpressionContext" is involved it no longer works. Any help would be much appreciated :)