Package org.apache.xalan.extensions
Class ExtensionsTable
java.lang.Object
org.apache.xalan.extensions.ExtensionsTable
public class ExtensionsTable extends Object
Class holding a table registered extension namespace handlers
-
Field Summary
Fields Modifier and Type Field Description Hashtablem_extensionFunctionNamespacesTable of extensions that may be called from the expression language via the call(name, ...) function. -
Constructor Summary
Constructors Constructor Description ExtensionsTable(StylesheetRoot sroot)The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace. -
Method Summary
Modifier and Type Method Description 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 Details
-
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
The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.- Throws:
TransformerException
-
-
Method Details
-
get
Get an ExtensionHandler object that represents the given namespace.- Parameters:
extns- A valid extension namespace.- Returns:
- ExtensionHandler object that represents the given namespace.
-
addExtensionNamespace
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
Execute the function-available() function.- Parameters:
ns- the URI of namespace in which the function is neededfuncName- the function name being tested- Returns:
- whether the given function is available or not.
- Throws:
TransformerException
-
elementAvailable
Execute the element-available() function.- Parameters:
ns- the URI of namespace in which the function is neededelemName- 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 TransformerExceptionHandle an extension function.- Parameters:
ns- the URI of namespace in which the function is neededfuncName- the function name being calledargVec- arguments to the function in a vectormethodKey- a unique key identifying this function instance in the stylesheetexprContext- 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 TransformerExceptionHandle an extension function.- Parameters:
extFunction- the extension functionargVec- arguments to the function in a vectorexprContext- 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
-