org.apache.excalibur.xml.xpath
Class XPathProcessorImpl

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.excalibur.xml.xpath.AbstractProcessorImpl
          extended by org.apache.excalibur.xml.xpath.XPathProcessorImpl
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.thread.ThreadSafe, PrefixResolver, XPathProcessor

public final class XPathProcessorImpl
extends AbstractProcessorImpl
implements org.apache.avalon.framework.thread.ThreadSafe

This class defines the implementation of the XPathProcessor component. To configure it, add the following lines in the cocoon.xconf file:

 <xpath-processor class="org.apache.cocoon.components.xpath.XPathProcessorImpl">
 </xpath-processor>
 

Version:
CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:15 $ $Author: cziegeler $
Author:
Avalon Development Team

Nested Class Summary
private static class XPathProcessorImpl.XalanResolver
          A Xalan-specific wrapper for the PrefixResolver.
 
Field Summary
private  java.lang.String m_baseURI
           
 
Fields inherited from interface org.apache.excalibur.xml.xpath.XPathProcessor
ROLE
 
Constructor Summary
XPathProcessorImpl()
           
 
Method Summary
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
           
 boolean evaluateAsBoolean(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver resolver)
          Evaluate XPath expression within a context.
 java.lang.Number evaluateAsNumber(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver resolver)
          Evaluate XPath expression within a context.
 java.lang.String evaluateAsString(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver resolver)
          Evaluate XPath expression within a context.
 org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver resolver)
          Use an XPath string to select a nodelist.
 org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode, java.lang.String str, PrefixResolver resolver)
          Use an XPath string to select a single node.
 
Methods inherited from class org.apache.excalibur.xml.xpath.AbstractProcessorImpl
evaluateAsBoolean, evaluateAsNumber, evaluateAsString, prefixToNamespace, selectNodeList, selectSingleNode
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_baseURI

private java.lang.String m_baseURI
Constructor Detail

XPathProcessorImpl

public XPathProcessorImpl()
Method Detail

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Overrides:
configure in class AbstractProcessorImpl
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

evaluateAsBoolean

public boolean evaluateAsBoolean(org.w3c.dom.Node contextNode,
                                 java.lang.String str,
                                 PrefixResolver resolver)
Evaluate XPath expression within a context.

Specified by:
evaluateAsBoolean in interface XPathProcessor
Specified by:
evaluateAsBoolean in class AbstractProcessorImpl
Parameters:
contextNode - The context node.
str - A valid XPath string.
resolver - a PrefixResolver, used for resolving namespace prefixes
Returns:
expression result as boolean.

evaluateAsNumber

public java.lang.Number evaluateAsNumber(org.w3c.dom.Node contextNode,
                                         java.lang.String str,
                                         PrefixResolver resolver)
Evaluate XPath expression within a context.

Specified by:
evaluateAsNumber in interface XPathProcessor
Specified by:
evaluateAsNumber in class AbstractProcessorImpl
Parameters:
contextNode - The context node.
str - A valid XPath string.
resolver - a PrefixResolver, used for resolving namespace prefixes
Returns:
expression result as number.

evaluateAsString

public java.lang.String evaluateAsString(org.w3c.dom.Node contextNode,
                                         java.lang.String str,
                                         PrefixResolver resolver)
Evaluate XPath expression within a context.

Specified by:
evaluateAsString in interface XPathProcessor
Specified by:
evaluateAsString in class AbstractProcessorImpl
Parameters:
contextNode - The context node.
str - A valid XPath string.
resolver - a PrefixResolver, used for resolving namespace prefixes
Returns:
expression result as string.

selectSingleNode

public org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
                                         java.lang.String str,
                                         PrefixResolver resolver)
Use an XPath string to select a single node.

Specified by:
selectSingleNode in interface XPathProcessor
Specified by:
selectSingleNode in class AbstractProcessorImpl
Parameters:
contextNode - The node to start searching from.
str - A valid XPath string.
resolver - a PrefixResolver, used for resolving namespace prefixes
Returns:
The first node found that matches the XPath, or null.

selectNodeList

public org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
                                           java.lang.String str,
                                           PrefixResolver resolver)
Use an XPath string to select a nodelist.

Specified by:
selectNodeList in interface XPathProcessor
Specified by:
selectNodeList in class AbstractProcessorImpl
Parameters:
contextNode - The node to start searching from.
str - A valid XPath string.
resolver - a PrefixResolver, used for resolving namespace prefixes
Returns:
A List, should never be null.