Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

WebLogic Server 6.0sp2 API Reference

## weblogic.apache.xalan.xpath
Class XPathSupportDefault

    java.lang.Object
      |
      +--weblogic.apache.xalan.xpath.XPathSupportDefault

Direct Known Subclasses:
  XMLParserLiaisonDefault

public class XPathSupportDefault
extends java.lang.Object
implements XPathSupport

Default class for execution context when XPath is used by itself. Many of the functions in this class need to be overridden in order to perform correct execution of the XPath (for instance, variable execution). This class will likely eventually replace XMLParserLiaisons.

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:
  Copyright © 2001 BEA Systems, Inc. All Rights Reserved.

Constructor Summary
`XPathSupportDefault()`

Method Summary
`void` | `addExtensionNamespace(java.lang.String uri, ExtensionFunctionHandler extNS)` Register an extension namespace handler.
`void` | `associateXLocatorToNode(org.w3c.dom.Node node, XLocator xlocator)` Associate an XLocator provider to a node.
`void` | `beginConstruction(KeyDeclaration kd)`
`XLocator` | `createXLocatorHandler()` getXLocatorHandler.
`void` | `deassociateXLocatorToNode(org.w3c.dom.Node node)` Deassociate an XLocator provider to a node based on the root of the tree that the node is parented by.
`void` | `decrementContextNodePosition()` Decrement the current context node position.
`boolean` | `elementAvailable(java.lang.String namespace, java.lang.String extensionName)` Execute the element-available() function.
`void` | `endConstruction(KeyDeclaration kd)`
`java.lang.Object` | `extFunction(java.lang.String namespace, java.lang.String extensionName, java.util.Vector argVec, java.lang.Object methodKey)` Handle an extension function.
`java.lang.String` | `findURIFromDoc(org.w3c.dom.Document owner)` Given a DOM Document, tell what URI was used to parse it.
`boolean` | `functionAvailable(java.lang.String namespace, java.lang.String extensionName)` Execute the function-available() function.
`NodeCallback` | `getCallback()` Get the callback that may be called by XPath as nodes are located.
`java.lang.Object` | `getCallbackInfo()` Get the object that will be passed to the processLocatedNode method.
`org.w3c.dom.NodeList` | `getContextNodeList()` Get the current context node list.
`int` | `getContextNodePosition()` Get the current position in the context node list.
`org.w3c.dom.Node` | `getCurrentNode()` Get the current context node.
`org.w3c.dom.Document` | `getDOMFactory()` Get a DOM document, primarily for creating result tree fragments.
`org.w3c.dom.Element` | `getElementByID(java.lang.String id, org.w3c.dom.Document doc)` Get an element from an ID.
`org.xml.sax.ErrorHandler` | `getErrorHandler()` Get the current error handler, if there is one.
`boolean` | `getInConstruction(KeyDeclaration kd)`
`java.lang.String` | `getLocalNameOfNode(org.w3c.dom.Node n)` Returns the local name of the given node.
`PrefixResolver` | `getNamespaceContext()` Get the current namespace context for the xpath.
`java.lang.String` | `getNamespaceForPrefix(java.lang.String prefix, org.w3c.dom.Element namespaceContext)` Given a namespace, get the corresponding prefix.
`java.lang.String` | `getNamespaceOfNode(org.w3c.dom.Node n)` Returns the namespace of the given node.
`int` | `getNodeNumber(org.w3c.dom.Node n)`
`org.w3c.dom.NodeList` | `getNodeSetByKey(org.w3c.dom.Node doc, java.lang.String name, java.lang.String ref, PrefixResolver nscontext)` Given a valid element key, return the corresponding node list.
`org.w3c.dom.Node` | `getParentOfNode(org.w3c.dom.Node node)` This function has to be implemented, because the DOM WG decided that attributes don't have parents.
`boolean` | `getProcessNamespaces()` Tells if namespaces should be supported.
`org.w3c.dom.Node` | `getRoot(org.w3c.dom.Node node)` Get the first unparented node in the ancestor chain.
`java.util.Hashtable` | `getSourceDocsTable()` Get table of source tree documents.
`boolean` | `getThrowFoundIndex()` ThrowFoundIndex tells if FoundIndex should be thrown if index is found.
`java.lang.String` | `getUnparsedEntityURI(java.lang.String name, org.w3c.dom.Document doc)` The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in the same document as the context node (see [3.3 Unparsed Entities]).
`java.net.URL` | `getURLFromString(java.lang.String urlString, java.lang.String base)` Take a user string and try and parse XML, and also return the url.
`XObject` | `getVariable(QName name)` Variables don't work when executing an XPath by itself.
`XLocator` | `getXLocatorFromNode(org.w3c.dom.Node node)` Get an XLocator provider keyed by node.
`void` | `incrementContextNodePosition(org.w3c.dom.Node node)` Increment the current context node position.
`boolean` | `isIgnorableWhitespace(org.w3c.dom.Text node)` Deprecated.
`org.w3c.dom.Document` | `parseXML(java.lang.String urlString, java.lang.String base)` Deprecated.
`org.w3c.dom.Document` | `parseXML(java.net.URL url, org.xml.sax.DocumentHandler docHandler, org.w3c.dom.Document styleDoc)` Take a user string and try and parse XML, and also return the url.
`void` | `popContextNodeList()` Pop the current context node list.
`void` | `popContextNodePosition()` Pop the current context node position.
`void` | `popXPathContext()` Pop the current XPathContext.
`boolean` | `problem(short where, short classification, org.w3c.dom.Node styleNode, org.w3c.dom.Node sourceNode, java.lang.String msg, int lineNo, int charOffset)` Function that is called when a problem event occurs.
`void` | `pushContextNodeList(org.w3c.dom.NodeList nl)` Set the current context node list.
`void` | `pushContextNodePosition()` Push the current context node position.
`void` | `pushDummyXPathContext()` Push a dummy XPathContext so we can tell that the top-level xpath isn't in effect.
`void` | `pushXPathContext(XPath xpath, XPathSupport execContext, org.w3c.dom.Node contextNode, PrefixResolver namespaceContext)` Push the current XPath selection, needed for support of the last() function in depth-first execution.
`XObject` | `reExecuteXPathContext(XPath path, XPathSupport execContext, org.w3c.dom.Node context)` Reexecute the last xpath context after the specified one.
`void` | `setCallback(NodeCallback callback, java.lang.Object callbackInfo)` Set a callback that may be called by XPath as nodes are located.
`void` | `setContextNodePosition(int newNodePos)` Set the current context node position.
`void` | `setCurrentNode(org.w3c.dom.Node n)` Set the current context node.
`void` | `setDOMFactory(org.w3c.dom.Document domFactory)` Get the factory object required to create DOM nodes in the result tree.
`void` | `setNamespaceContext(PrefixResolver pr)` Get the current namespace context for the xpath.
`void` | `setProcessNamespaces(boolean processNamespaces)` Set whether or not the liaison attempts to expand namespaces.
`void` | `setThrowFoundIndex(boolean b)` ThrowFoundIndex tells if FoundIndex should be thrown if index is found.
`boolean` | `shouldStripSourceNode(org.w3c.dom.Node textNode)` Tells, through the combination of the default-space attribute on xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the xml:space attribute, whether or not extra whitespace should be stripped from the node.
`boolean` | `supportsNodeNumber(org.w3c.dom.Node n)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XPathSupportDefault

    public XPathSupportDefault()

Method Detail

### pushXPathContext

    public void pushXPathContext(XPath xpath,
                                 XPathSupport execContext,
                                 org.w3c.dom.Node contextNode,
                                 PrefixResolver namespaceContext)

  Push the current XPath selection, needed for support of the last() function in depth-first execution. If the last() function is called, the originating XPath will be executed to get a count. This is ugly, and later some sort of system can be done where the XPath can finish evaluating from the current point.
  Specified by:
    pushXPathContext in interface XPathSupport

### popXPathContext

    public void popXPathContext()

  Pop the current XPathContext.
  Specified by:
    popXPathContext in interface XPathSupport

### pushDummyXPathContext

    public void pushDummyXPathContext()

  Push a dummy XPathContext so we can tell that the top-level xpath isn't in effect.
  Specified by:
    pushDummyXPathContext in interface XPathSupport

### reExecuteXPathContext

    public XObject reExecuteXPathContext(XPath path,
                                         XPathSupport execContext,
                                         org.w3c.dom.Node context)
                                  throws org.xml.sax.SAXException

  Reexecute the last xpath context after the specified one.
  Specified by:
    reExecuteXPathContext in interface XPathSupport

### getContextNodePosition

    public int getContextNodePosition()

  Get the current position in the context node list. Used for depth-first searching.
  Specified by:
    getContextNodePosition in interface XPathSupport

### setContextNodePosition

    public void setContextNodePosition(int newNodePos)

  Set the current context node position.
  Specified by:
    setContextNodePosition in interface XPathSupport

### incrementContextNodePosition

    public void incrementContextNodePosition(org.w3c.dom.Node node)

  Increment the current context node position.
  Specified by:
    incrementContextNodePosition in interface XPathSupport

### decrementContextNodePosition

    public void decrementContextNodePosition()

  Decrement the current context node position.
  Specified by:
    decrementContextNodePosition in interface XPathSupport

### pushContextNodePosition

    public void pushContextNodePosition()

  Push the current context node position.
  Specified by:
    pushContextNodePosition in interface XPathSupport

### popContextNodePosition

    public void popContextNodePosition()

  Pop the current context node position.
  Specified by:
    popContextNodePosition in interface XPathSupport

### getContextNodeList

    public org.w3c.dom.NodeList getContextNodeList()

  Get the current context node list.
  Specified by:
    getContextNodeList in interface XPathSupport

### pushContextNodeList

    public void pushContextNodeList(org.w3c.dom.NodeList nl)

  Set the current context node list.
  Specified by:
    pushContextNodeList in interface XPathSupport

  Parameters:
    `A` - nodelist that represents the current context list as defined by XPath.

### popContextNodeList

    public void popContextNodeList()

  Pop the current context node list.
  Specified by:
    popContextNodeList in interface XPathSupport

### getThrowFoundIndex

    public boolean getThrowFoundIndex()

  ThrowFoundIndex tells if FoundIndex should be thrown if index is found. This is an optimization for match patterns, and is used internally by the XPath engine.
  Specified by:
    getThrowFoundIndex in interface XPathSupport

### setThrowFoundIndex

    public void setThrowFoundIndex(boolean b)

  ThrowFoundIndex tells if FoundIndex should be thrown if index is found. This is an optimization for match patterns, and is used internally by the XPath engine.
  Specified by:
    setThrowFoundIndex in interface XPathSupport

### getCurrentNode

    public org.w3c.dom.Node getCurrentNode()

  Get the current context node.
  Specified by:
    getCurrentNode in interface XPathSupport

### setCurrentNode

    public void setCurrentNode(org.w3c.dom.Node n)

  Set the current context node.
  Specified by:
    setCurrentNode in interface XPathSupport

### getNamespaceContext

    public PrefixResolver getNamespaceContext()

  Get the current namespace context for the xpath.
  Specified by:
    getNamespaceContext in interface XPathSupport

### setNamespaceContext

    public void setNamespaceContext(PrefixResolver pr)

  Get the current namespace context for the xpath.
  Specified by:
    setNamespaceContext in interface XPathSupport

### getNamespaceForPrefix

    public java.lang.String getNamespaceForPrefix(java.lang.String prefix,
                                                  org.w3c.dom.Element namespaceContext)

  Given a namespace, get the corresponding prefix.
  Specified by:
    getNamespaceForPrefix in interface XPathSupport

  Parameters:
    `prefix` - A namespace prefix that is valid in the namespaceContext.
    `namespaceContext` - An element from which to evaluate the prefix resolution.
  Returns:
    A namespace, or null if it can't be resolved.

### getNamespaceOfNode

    public java.lang.String getNamespaceOfNode(org.w3c.dom.Node n)

  Returns the namespace of the given node.
  Specified by:
    getNamespaceOfNode in interface XPathSupport

  Parameters:
    `n` - The node in question.
  Returns:
    A namespace, or null if there is none.

### getLocalNameOfNode

    public java.lang.String getLocalNameOfNode(org.w3c.dom.Node n)

  Returns the local name of the given node.
  Specified by:
    getLocalNameOfNode in interface XPathSupport

  Parameters:
    `n` - The node in question.
  Returns:
    The local name of the node, or null if the node doesn't have a name.

### getParentOfNode

    public org.w3c.dom.Node getParentOfNode(org.w3c.dom.Node node)

  This function has to be implemented, because the DOM WG decided that attributes don't have parents.
  Specified by:
    getParentOfNode in interface XPathSupport

  Parameters:
    `n` - The node in question.
  Returns:
    The "owner" of the node.

### getVariable

    public XObject getVariable(QName name)
                        throws org.xml.sax.SAXException

  Variables don't work when executing an XPath by itself.

  Returns:
    XString that is an error message.

### isIgnorableWhitespace

    public boolean isIgnorableWhitespace(org.w3c.dom.Text node)

  Deprecated.
  Tell if the node is ignorable whitespace. This should be in the DOM. Return false if the parser doesn't handle this.
  Specified by:
    isIgnorableWhitespace in interface XPathSupport

### getNodeSetByKey

    public org.w3c.dom.NodeList getNodeSetByKey(org.w3c.dom.Node doc,
                                                java.lang.String name,
                                                java.lang.String ref,
                                                PrefixResolver nscontext)
                                         throws org.xml.sax.SAXException

  Given a valid element key, return the corresponding node list.

  Returns:
    null, derived element must override.

### getSourceDocsTable

    public java.util.Hashtable getSourceDocsTable()

  Get table of source tree documents. Document objects are keyed by URL string.

  Returns:
    null, derived element must override.

### findURIFromDoc

    public java.lang.String findURIFromDoc(org.w3c.dom.Document owner)

  Given a DOM Document, tell what URI was used to parse it.

  Returns:
    string "unknown", derived element must override.

### parseXML

    public org.w3c.dom.Document parseXML(java.lang.String urlString,
                                         java.lang.String base)

  Deprecated.
  Take given a URL, try and parse XML. the error condition is severe enough to halt processing.

### getElementByID

    public org.w3c.dom.Element getElementByID(java.lang.String id,
                                              org.w3c.dom.Document doc)

  Get an element from an ID.
  Specified by:
    getElementByID in interface XPathSupport

  Returns:
    null, derived element must override.

### getUnparsedEntityURI

    public java.lang.String getUnparsedEntityURI(java.lang.String name,
                                                 org.w3c.dom.Document doc)

  The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in the same document as the context node (see [3.3 Unparsed Entities]). It returns the empty string if there is no such entity.
  Specified by:
    getUnparsedEntityURI in interface XPathSupport

  Returns:
    empty string, derived element must override.

### setDOMFactory

    public void setDOMFactory(org.w3c.dom.Document domFactory)

  Get the factory object required to create DOM nodes in the result tree.

### getDOMFactory

    public org.w3c.dom.Document getDOMFactory()

  Get a DOM document, primarily for creating result tree fragments.

### getInConstruction

    public boolean getInConstruction(KeyDeclaration kd)

  Specified by:
    getInConstruction in interface XPathSupport

### beginConstruction

    public void beginConstruction(KeyDeclaration kd)

  Specified by:
    beginConstruction in interface XPathSupport

### endConstruction

    public void endConstruction(KeyDeclaration kd)

  Specified by:
    endConstruction in interface XPathSupport

### problem

    public boolean problem(short where,
                           short classification,
                           org.w3c.dom.Node styleNode,
                           org.w3c.dom.Node sourceNode,
                           java.lang.String msg,
                           int lineNo,
                           int charOffset)

  Function that is called when a problem event occurs.
  Specified by:
    problem in interface XPathSupport

  Parameters:
    `where` - Either and XMLPARSER, XSLPROCESSOR, or QUERYENGINE.
    `classification` - Either ERROR or WARNING.
    `styleNode` - The style tree node where the problem occurred. May be null.
    `sourceNode` - The source tree node where the problem occurred. May be null.
    `msg` - A string message explaining the problem.
    `lineNo` - The line number where the problem occurred, if it is known. May be zero.
    `charOffset` - The character offset where the problem, occurred if it is known. May be zero.
  Returns:
    true if the return is an ERROR, in which case exception will be thrown. Otherwise the processor will continue to process.

### functionAvailable

    public boolean functionAvailable(java.lang.String namespace,
                                     java.lang.String extensionName)

  Execute the function-available() function.

### elementAvailable

    public boolean elementAvailable(java.lang.String namespace,
                                    java.lang.String extensionName)

  Execute the element-available() function.

### extFunction

    public java.lang.Object extFunction(java.lang.String namespace,
                                        java.lang.String extensionName,
                                        java.util.Vector argVec,
                                        java.lang.Object methodKey)
                                 throws org.xml.sax.SAXException

  Handle an extension function.

### getRoot

    public org.w3c.dom.Node getRoot(org.w3c.dom.Node node)

  Get the first unparented node in the ancestor chain.

### associateXLocatorToNode

    public void associateXLocatorToNode(org.w3c.dom.Node node,
                                        XLocator xlocator)

  Associate an XLocator provider to a node. This makes the association based on the root of the tree that the node is parented by.

### deassociateXLocatorToNode

    public void deassociateXLocatorToNode(org.w3c.dom.Node node)

  Deassociate an XLocator provider to a node based on the root of the tree that the node is parented by.

### getXLocatorFromNode

    public XLocator getXLocatorFromNode(org.w3c.dom.Node node)

  Get an XLocator provider keyed by node. This get's the association based on the root of the tree that the node is parented by.

### setProcessNamespaces

    public void setProcessNamespaces(boolean processNamespaces)

  Set whether or not the liaison attempts to expand namespaces. Used for optimization.
  Specified by:
    setProcessNamespaces in interface XPathSupport

### getProcessNamespaces

    public boolean getProcessNamespaces()

  Tells if namespaces should be supported. For optimization purposes.
  Specified by:
    getProcessNamespaces in interface XPathSupport

### shouldStripSourceNode

    public boolean shouldStripSourceNode(org.w3c.dom.Node textNode)
                                  throws org.xml.sax.SAXException

  Tells, through the combination of the default-space attribute on xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the xml:space attribute, whether or not extra whitespace should be stripped from the node. Literal elements from template elements should not be tested with this function.

  Parameters:
    `textNode` - A text node from the source tree.
  Returns:
    true if the text node should be stripped of extra whitespace.

### parseXML

    public org.w3c.dom.Document parseXML(java.net.URL url,
                                         org.xml.sax.DocumentHandler docHandler,
                                         org.w3c.dom.Document styleDoc)
                                  throws org.xml.sax.SAXException

  Take a user string and try and parse XML, and also return the url. the error condition is severe enough to halt processing.
  Specified by:
    parseXML in interface XPathSupport

### getURLFromString

    public java.net.URL getURLFromString(java.lang.String urlString,
                                         java.lang.String base)
                                  throws org.xml.sax.SAXException

  Take a user string and try and parse XML, and also return the url.
  Specified by:
    getURLFromString in interface XPathSupport

  Throws:
    XSLProcessorException - thrown if the active ProblemListener and XMLParserLiaison decide the error condition is severe enough to halt processing.

### addExtensionNamespace

    public void addExtensionNamespace(java.lang.String uri,
                                      ExtensionFunctionHandler 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.
  Specified by:
    addExtensionNamespace in interface XPathSupport

  Parameters:
    `uri` - the URI for the extension.
    `extNS` - the extension handler.

### setCallback

    public void setCallback(NodeCallback callback,
                            java.lang.Object callbackInfo)

  Set a callback that may be called by XPath as nodes are located. The callback will only be called if the XLocator determines that the location path can process the nodes in document order. If the callback is called, the nodes will not be put into the node list, and the LocationPath will return an empty node list. The callback will be set to null after the next LocationPath or Union is processed.

  Parameters:
    `callback` - Interface that implements the processLocatedNode method.
    `callbackInfo` - Object that will be passed to the processLocatedNode method.

### getCallback

    public NodeCallback getCallback()

  Get the callback that may be called by XPath as nodes are located.

  Returns:
    the current callback method.

### getCallbackInfo

    public java.lang.Object getCallbackInfo()

  Get the object that will be passed to the processLocatedNode method.

  Returns:
    object that will be passed to the processLocatedNode method.

### getErrorHandler

    public org.xml.sax.ErrorHandler getErrorHandler()

  Get the current error handler, if there is one.
  Specified by:
    getErrorHandler in interface XPathSupport

### createXLocatorHandler

    public XLocator createXLocatorHandler()

  getXLocatorHandler.
  Specified by:
    createXLocatorHandler in interface XPathSupport

### supportsNodeNumber

    public boolean supportsNodeNumber(org.w3c.dom.Node n)

  Specified by:
    supportsNodeNumber in interface XPathSupport

### getNodeNumber

    public int getNodeNumber(org.w3c.dom.Node n)

  Specified by:
    getNodeNumber in interface XPathSupport

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs60
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD