org.apache.xalan.xslt
Class ExtensionNSHandler

java.lang.Object
  |
  +--org.apache.xalan.xpath.ExtensionFunctionHandler
        |
        +--org.apache.xalan.xslt.ExtensionNSHandler

public class ExtensionNSHandler
extends ExtensionFunctionHandler

**For advanced use only** Represents an extension namespace. Provides functions to call into the extension via both element syntax and function syntax. Extends XPath's extension function capability to a full namespace extension model.


Fields inherited from class org.apache.xalan.xpath.ExtensionFunctionHandler
classObject, javaObject, namespaceUri, scriptLang, scriptSrc, scriptSrcURL
 
Constructor Summary
ExtensionNSHandler(XSLTEngineImpl xslp, java.lang.String namespaceUri)
          **For advanced use only** Construct a new extension namespace handler for a given extension NS.
ExtensionNSHandler(XSLTEngineImpl xslp, java.lang.String namespaceUri, java.lang.String elemNames, java.lang.String funcNames, java.lang.String lang, java.lang.String srcURL, java.lang.String src)
          **For advanced use only** Construct a new extension namespace handler given all the information needed.
 
Method Summary
 boolean isElementAvailable(java.lang.String element)
          **For advanced use only** Tests whether a certain element name is known within this namespace.
 void processElement(java.lang.String localPart, org.w3c.dom.Element element, XSLTEngineImpl processor, Stylesheet stylesheetTree, org.w3c.dom.Node sourceTree, org.w3c.dom.Node sourceNode, QName mode, java.lang.Class classObj, java.lang.Object methodKey)
          **For advanced use only** Process a call to this extension namespace via an element.
 void setElements(java.lang.String elemNames)
          **For advanced use only** Set element local parts of extension NS.
 void setFunctions(java.lang.String funcNames)
          **For advanced use only**  
 void setScript(java.lang.String lang, java.lang.String srcURL, java.lang.String scriptSrc)
          **For advanced use only** Set the script data for this extension NS.
 
Methods inherited from class org.apache.xalan.xpath.ExtensionFunctionHandler
callFunction, callJava, isFunctionAvailable
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionNSHandler

public ExtensionNSHandler(XSLTEngineImpl xslp,
                          java.lang.String namespaceUri)
**For advanced use only** Construct a new extension namespace handler for a given extension NS. This doesn't do anything - just hang on to the namespace URI.
Parameters:
xslp - handle to the XSL processor that I'm working for
namespaceUri - the extension namespace URI that I'm implementing

ExtensionNSHandler

public ExtensionNSHandler(XSLTEngineImpl xslp,
                          java.lang.String namespaceUri,
                          java.lang.String elemNames,
                          java.lang.String funcNames,
                          java.lang.String lang,
                          java.lang.String srcURL,
                          java.lang.String src)
**For advanced use only** Construct a new extension namespace handler given all the information needed.
Parameters:
xslp - handle to the XSL processor that I'm working for
namespaceUri - the extension namespace URI that I'm implementing
elemNames - string containing list of elements of extension NS
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.
scriptSrc - the actual script code (if any)
Method Detail

setFunctions

public void setFunctions(java.lang.String funcNames)
Overrides:
setFunctions in class ExtensionFunctionHandler

setScript

public void setScript(java.lang.String lang,
                      java.lang.String srcURL,
                      java.lang.String scriptSrc)
**For advanced use only** Set the script data for this extension NS. Deferred to super for actual work - I only record that a component desc has been loaded.
Parameters:
lang - language of the script.
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.
scriptSrc - the actual script code (if any)
Overrides:
setScript in class ExtensionFunctionHandler

setElements

public void setElements(java.lang.String elemNames)
**For advanced use only** Set element local parts of extension NS.
Parameters:
elemNames - whitespace separated list of element names defined by this extension namespace.
Overrides:
setElements in class ExtensionFunctionHandler

isElementAvailable

public boolean isElementAvailable(java.lang.String element)
**For advanced use only** Tests whether a certain element name is known within this namespace.
Parameters:
element - name of the element being tested
Returns:
true if its known, false if not.
Overrides:
isElementAvailable in class ExtensionFunctionHandler

processElement

public void processElement(java.lang.String localPart,
                           org.w3c.dom.Element element,
                           XSLTEngineImpl processor,
                           Stylesheet stylesheetTree,
                           org.w3c.dom.Node sourceTree,
                           org.w3c.dom.Node sourceNode,
                           QName mode,
                           java.lang.Class classObj,
                           java.lang.Object methodKey)
                    throws XSLProcessorException,
                           java.net.MalformedURLException,
                           java.io.FileNotFoundException,
                           java.io.IOException,
                           org.xml.sax.SAXException
**For advanced use only** Process a call to this extension namespace via an element. As a side effect, the results are sent to the XSLTEngineImpl's result tree.
Parameters:
localPart - Element name's local part.
element - The extension element being processed.
processor - Handle to XSLTEngineImpl.
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.
Throws:
XSLProcessorException - thrown if something goes wrong while running the extension handler.
java.net.MalformedURLException - if loading trouble
java.io.FileNotFoundException - if loading trouble
java.io.IOException - if loading trouble
org.xml.sax.SAXException - if parsing trouble