question: public XObject execute ( XPathContext xctxt ) throws javax . xml . transform . TransformerException { if ( xctxt . isSecureProcessing ( ) ) throw new javax . xml . transform . TransformerException ( XPATHMessages . createXPATHMessage ( XPATHErrorResources . ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED , new Object [ ] { toString ( ) } ) ) ; XObject result ; Vector argVec = new Vector ( ) ; int nArgs = m_argVec . size ( ) ; for ( int i = 0 ; i < nArgs ; i ++ ) { Expression arg = ( Expression ) m_argVec . elementAt ( i ) ; XObject xobj = arg . execute ( xctxt ) ; xobj . allowDetachToRelease ( false ) ; argVec . addElement ( xobj ) ; } ExtensionsProvider extProvider = ( ExtensionsProvider ) xctxt . getOwnerObject ( ) ; Object val = extProvider . extFunction ( this , argVec ) ; if ( null != val ) { result = XObject . create ( val , xctxt ) ; } else { result = new XNull ( ) ; } return result ; }
target:  Execute the function.  The function must return a valid object.