public boolean visitFunction(ExpressionOwner owner, Function func)
  {
    if (func instanceof FuncExtFunction)
    {
      String namespace = ((FuncExtFunction)func).getNamespace();
      m_sroot.getExtensionNamespacesManager().registerExtension(namespace);      
    }
    else if (func instanceof FuncExtFunctionAvailable)
    {
      String arg = ((FuncExtFunctionAvailable)func).getArg0().toString();
      if (arg.indexOf(":") > 0)
      {
      	String prefix = arg.substring(0,arg.indexOf(":"));
      	String namespace = this.m_sroot.getNamespaceForPrefix(prefix);
      	m_sroot.getExtensionNamespacesManager().registerExtension(namespace);
      }
    }
    return true;
  }
public boolean visitFunction ( ExpressionOwner owner , Function func ) { if ( func instanceof FuncExtFunction ) { String namespace = ( ( FuncExtFunction ) func ) . getNamespace ( ) ; m_sroot . getExtensionNamespacesManager ( ) . registerExtension ( namespace ) ; } else if ( func instanceof FuncExtFunctionAvailable ) { String arg = ( ( FuncExtFunctionAvailable ) func ) . getArg0 ( ) . toString ( ) ; if ( arg . indexOf ( ":" ) > 0 ) { String prefix = arg . substring ( 0 , arg . indexOf ( ":" ) ) ; String namespace = this . m_sroot . getNamespaceForPrefix ( prefix ) ; m_sroot . getExtensionNamespacesManager ( ) . registerExtension ( namespace ) ; } } return true ; }
If the function is an extension function, register the namespace.

@param owner The current XPath object that owns the expression.
@param func The function currently being visited.

@return true to continue the visit in the subtree, if any.