Class ExtensionsTable

java.lang.Object
org.apache.xalan.extensions.ExtensionsTable

public class ExtensionsTable extends Object
Class holding a table registered extension namespace handlers
  • Field Details

    • m_extensionFunctionNamespaces

      public Hashtable m_extensionFunctionNamespaces
      Table of extensions that may be called from the expression language via the call(name, ...) function. Objects are keyed on the call name.
  • Constructor Details

    • ExtensionsTable

      public ExtensionsTable(StylesheetRoot sroot) throws TransformerException
      The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.
      Throws:
      TransformerException
  • Method Details

    • get

      public ExtensionHandler get(String extns)
      Get an ExtensionHandler object that represents the given namespace.
      Parameters:
      extns - A valid extension namespace.
      Returns:
      ExtensionHandler object that represents the given namespace.
    • addExtensionNamespace

      public void addExtensionNamespace(String uri, ExtensionHandler extNS)
      Register an extension namespace handler. This handler provides functions for testing whether a function is known within the namespace and also for invoking the functions.
      Parameters:
      uri - the URI for the extension.
      extNS - the extension handler.
    • functionAvailable

      public boolean functionAvailable(String ns, String funcName) throws TransformerException
      Execute the function-available() function.
      Parameters:
      ns - the URI of namespace in which the function is needed
      funcName - the function name being tested
      Returns:
      whether the given function is available or not.
      Throws:
      TransformerException
    • elementAvailable

      public boolean elementAvailable(String ns, String elemName) throws TransformerException
      Execute the element-available() function.
      Parameters:
      ns - the URI of namespace in which the function is needed
      elemName - name of element being tested
      Returns:
      whether the given element is available or not.
      Throws:
      TransformerException
    • extFunction

      public Object extFunction(String ns, String funcName, Vector argVec, Object methodKey, ExpressionContext exprContext) throws TransformerException
      Handle an extension function.
      Parameters:
      ns - the URI of namespace in which the function is needed
      funcName - the function name being called
      argVec - arguments to the function in a vector
      methodKey - a unique key identifying this function instance in the stylesheet
      exprContext - a context which may be passed to an extension function and provides callback functions to access various areas in the environment
      Returns:
      result of executing the function
      Throws:
      TransformerException
    • extFunction

      public Object extFunction(FuncExtFunction extFunction, Vector argVec, ExpressionContext exprContext) throws TransformerException
      Handle an extension function.
      Parameters:
      extFunction - the extension function
      argVec - arguments to the function in a vector
      exprContext - a context which may be passed to an extension function and provides callback functions to access various areas in the environment
      Returns:
      result of executing the function
      Throws:
      TransformerException