BEA Systems, Inc.

WebLogic Server 6.1 API Reference

weblogic.apache.xalan.extensions
Class ExtensionHandlerGeneral

java.lang.Object
  |
  +--weblogic.apache.xalan.extensions.ExtensionHandler
        |
        +--weblogic.apache.xalan.extensions.ExtensionHandlerGeneral

public class ExtensionHandlerGeneral
extends ExtensionHandler

Class handling an extension namespace for XPath. Provides functions to test a function's existence and call a function

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

Author:
Sanjiva Weerawarana (sanjiva@watson.ibm.com)

Fields inherited from class weblogic.apache.xalan.extensions.ExtensionHandler
m_namespaceUri, m_scriptLang
 
Constructor Summary
ExtensionHandlerGeneral(java.lang.String namespaceUri, StringVector elemNames, StringVector funcNames, java.lang.String scriptLang, java.lang.String scriptSrcURL, java.lang.String scriptSrc)
          Construct a new extension namespace handler given all the information needed.
 
Method Summary
 java.lang.Object callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext)
          Process a call to a function.
 boolean isElementAvailable(java.lang.String element)
          Tests whether a certain element name is known within this namespace.
 boolean isFunctionAvailable(java.lang.String function)
          Tests whether a certain function name is known within this namespace.
 void processElement(java.lang.String localPart, org.w3c.dom.Element element, TransformerImpl transformer, Stylesheet stylesheetTree, org.w3c.dom.Node sourceTree, org.w3c.dom.Node sourceNode, QName mode, java.lang.Object methodKey)
          Process a call to this extension namespace via an element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionHandlerGeneral

public ExtensionHandlerGeneral(java.lang.String namespaceUri,
                               StringVector elemNames,
                               StringVector funcNames,
                               java.lang.String scriptLang,
                               java.lang.String scriptSrcURL,
                               java.lang.String scriptSrc)
                        throws javax.xml.transform.TransformerException
Construct a new extension namespace handler given all the information needed.

Parameters:
namespaceUri - the extension namespace URI that I'm implementing
elemNames - Vector of element names
funcNames - string containing list of functions of extension NS
lang - language of code implementing the extension
srcURL - value of src attribute (if any) - treated as a URL or a classname depending on the value of lang. If srcURL is not null, then scriptSrc is ignored.
scriptLang - Scripting language of implementation
scriptSrcURL - URL of source script
scriptSrc - the actual script code (if any)
Throws:
javax.xml.transform.TransformerException -  
Method Detail

isFunctionAvailable

public boolean isFunctionAvailable(java.lang.String function)
Tests whether a certain function name is known within this namespace.

Parameters:
function - name of the function being tested
Returns:
true if its known, false if not.
Overrides:
isFunctionAvailable in class ExtensionHandler

isElementAvailable

public boolean isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace.

Parameters:
function - name of the function being tested
element - name of the element being tested
Returns:
true if its known, false if not.
Overrides:
isElementAvailable in class ExtensionHandler

callFunction

public java.lang.Object callFunction(java.lang.String funcName,
                                     java.util.Vector args,
                                     java.lang.Object methodKey,
                                     ExpressionContext exprContext)
                              throws javax.xml.transform.TransformerException
Process a call to a function.

Parameters:
funcName - Function name.
args - The arguments of the function call.
methodKey - A key that uniquely identifies this class and method call.
exprContext - The context in which this expression is being executed.
Returns:
the return value of the function evaluation.
Throws:
javax.xml.transform.TransformerException - if parsing trouble
Overrides:
callFunction in class ExtensionHandler

processElement

public void processElement(java.lang.String localPart,
                           org.w3c.dom.Element element,
                           TransformerImpl transformer,
                           Stylesheet stylesheetTree,
                           org.w3c.dom.Node sourceTree,
                           org.w3c.dom.Node sourceNode,
                           QName mode,
                           java.lang.Object methodKey)
                    throws javax.xml.transform.TransformerException,
                           java.io.IOException
Process a call to this extension namespace via an element. As a side effect, the results are sent to the TransformerImpl's result tree.

Parameters:
localPart - Element name's local part.
element - The extension element being processed.
transformer - Handle to TransformerImpl.
stylesheetTree - The compiled stylesheet tree.
mode - The current mode.
sourceTree - The root of the source tree (but don't assume it's a Document).
sourceNode - The current context node.
methodKey - A key that uniquely identifies this class and method call.
Throws:
XSLProcessorException - thrown if something goes wrong while running the extension handler.
MalformedURLException - if loading trouble
FileNotFoundException - if loading trouble
java.io.IOException - if loading trouble
javax.xml.transform.TransformerException - if parsing trouble
Overrides:
processElement in class ExtensionHandler

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs61

WebLogic classes and methods that do not appear in this reference are not public and are not supported.