## 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.

Inner classes inherited from class org.apache.xalan.xpath.ExtensionFunctionHandler
`ExtensionFunctionHandler.ExtensionLiaison`

Fields inherited from class org.apache.xalan.xpath.ExtensionFunctionHandler
`DEFAULT_EXTENSION_LIAISON, 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

Copyright © 2000 Apache XML Project. All Rights Reserved.