Package org.apache.xalan.extensions
Class ExtensionsTable
java.lang.Object
org.apache.xalan.extensions.ExtensionsTable
Class holding a table registered extension namespace handlers
-
Field Summary
FieldsModifier and TypeFieldDescriptionTable of extensions that may be called from the expression language via the call(name, ...) function. -
Constructor Summary
ConstructorsConstructorDescriptionExtensionsTable
(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 TypeMethodDescriptionvoid
addExtensionNamespace
(String uri, ExtensionHandler extNS) Register an extension namespace handler.boolean
elementAvailable
(String ns, String elemName) Execute the element-available() function.extFunction
(String ns, String funcName, Vector argVec, Object methodKey, ExpressionContext exprContext) Handle an extension function.extFunction
(FuncExtFunction extFunction, Vector argVec, ExpressionContext exprContext) Handle an extension function.boolean
functionAvailable
(String ns, String funcName) Execute the function-available() function.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 TransformerException Handle 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 TransformerException Handle 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
-