org.apache.xalan.extensions

Class ExtensionsTable


public class ExtensionsTable
extends java.lang.Object

Class holding a table registered extension namespace handlers

Field Summary

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(String uri, ExtensionHandler extNS)
Register an extension namespace handler.
boolean
elementAvailable(String ns, String elemName)
Execute the element-available() function.
Object
extFunction(String ns, String funcName, Vector argVec, Object methodKey, ExpressionContext exprContext)
Handle an extension function.
Object
extFunction(FuncExtFunction extFunction, Vector argVec, ExpressionContext exprContext)
Handle an extension function.
boolean
functionAvailable(String ns, String funcName)
Execute the function-available() function.
ExtensionHandler
get(String extns)
Get an ExtensionHandler object that represents the given namespace.

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 javax.xml.transform.TransformerException
The constructor (called from TransformerImpl) registers the StylesheetRoot for the transformation and instantiates an ExtensionHandler for each extension namespace.

Method Details

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.

elementAvailable

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

extFunction

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

extFunction

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

functionAvailable

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

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 © 2006 Apache XML Project. All Rights Reserved.