## org.apache.xalan.extensions
Class ExtensionsTable

    java.lang.Object
      |
      +--org.apache.xalan.extensions.ExtensionsTable

public class ExtensionsTable
extends java.lang.Object

Class holding a table registered extension namespace handlers

Usage:
  **For internal use only**

Field Summary
`java.util.Hashtable` `m_extensionFunctionNamespaces` Table of extensions that may be called from the expression language via the call(name, ...) function.

Constructor Summary
`ExtensionsTable(StylesheetRoot sroot)` The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.

Method Summary
`void` `addExtensionNamespace(java.lang.String uri, ExtensionHandler extNS)` Register an extension namespace handler.
`boolean` `elementAvailable(java.lang.String ns, java.lang.String elemName)` Execute the element-available() function.
`java.lang.Object` `extFunction(FuncExtFunction extFunction, java.util.Vector argVec, ExpressionContext exprContext)` Handle an extension function.
`java.lang.Object` `extFunction(java.lang.String ns, java.lang.String funcName, java.util.Vector argVec, java.lang.Object methodKey, ExpressionContext exprContext)` Handle an extension function.
`boolean` `functionAvailable(java.lang.String ns, java.lang.String funcName)` Execute the function-available() function.
`ExtensionHandler` `get(java.lang.String extns)` Get an ExtensionHandler object that represents the given namespace.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### m_extensionFunctionNamespaces

    public java.util.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.
  Usage:
    **For internal use only**

Constructor Detail

### 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.
  Usage:
    **For advanced use only**

Method Detail

### get

    public ExtensionHandler get(java.lang.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(java.lang.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.
  Usage:
    **For advanced use only**

### functionAvailable

    public boolean functionAvailable(java.lang.String ns,
                                     java.lang.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(java.lang.String ns,
                                    java.lang.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 java.lang.Object extFunction(java.lang.String ns,
                                        java.lang.String funcName,
                                        java.util.Vector argVec,
                                        java.lang.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 java.lang.Object extFunction(FuncExtFunction extFunction,
                                        java.util.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 -

Copyright © 2006 Apache XML Project. All Rights Reserved.