org.apache.xalan.extensions

Class ExtensionsTable

public class ExtensionsTable extends Object

Class holding a table registered extension namespace handlers

UNKNOWN: internal

Field Summary
Hashtablem_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
voidaddExtensionNamespace(String uri, ExtensionHandler extNS)
Register an extension namespace handler.
booleanelementAvailable(String ns, String elemName)
Execute the element-available() function.
ObjectextFunction(String ns, String funcName, Vector argVec, Object methodKey, ExpressionContext exprContext)
Handle an extension function.
ObjectextFunction(FuncExtFunction extFunction, Vector argVec, ExpressionContext exprContext)
Handle an extension function.
booleanfunctionAvailable(String ns, String funcName)
Execute the function-available() function.
ExtensionHandlerget(String extns)
Get an ExtensionHandler object that represents the given namespace.

Field Detail

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.

UNKNOWN: internal

Constructor Detail

ExtensionsTable

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

UNKNOWN: advanced

Method Detail

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.

UNKNOWN: advanced

elementAvailable

public boolean elementAvailable(String ns, String elemName)
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: javax.xml.transform.TransformerException

extFunction

public Object extFunction(String ns, String funcName, Vector argVec, Object methodKey, ExpressionContext exprContext)
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: javax.xml.transform.TransformerException

extFunction

public Object extFunction(FuncExtFunction extFunction, Vector argVec, ExpressionContext exprContext)
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: javax.xml.transform.TransformerException

functionAvailable

public boolean functionAvailable(String ns, String funcName)
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: javax.xml.transform.TransformerException

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.

Copyright B) 2005 Apache XML Project. All Rights Reserved.