org.custommonkey.xmlunit
Class SimpleXpathEngine

java.lang.Object
  extended by org.custommonkey.xmlunit.SimpleXpathEngine
All Implemented Interfaces:
XMLConstants, XpathEngine, XSLTConstants

public class SimpleXpathEngine
extends java.lang.Object
implements XpathEngine, XSLTConstants

Simple class for accessing the Nodes matched by an Xpath expression, or evaluating the String value of an Xpath expression. Uses a copy-of or value-of XSL template (as appropriate) to execute the Xpath. This is not an efficient method for accessing XPaths but it is portable across underlying transform implementations. (Yes I know Jaxen is too, but this approach seemed to be the simplest thing that could possibly work...)
Examples and more at xmlunit.sourceforge.net


Field Summary
 
Fields inherited from interface org.custommonkey.xmlunit.XSLTConstants
JAVA5_XSLTC_FACTORY_NAME, XSLT_END, XSLT_IDENTITY_TEMPLATE, XSLT_START, XSLT_START_NO_VERSION, XSLT_STRIP_COMMENTS_TEMPLATE, XSLT_STRIP_WHITESPACE, XSLT_XML_OUTPUT_NOINDENT
 
Fields inherited from interface org.custommonkey.xmlunit.XMLConstants
CLOSE_NODE, END_CDATA, END_COMMENT, END_PROCESSING_INSTRUCTION, OPEN_END_NODE, OPEN_START_NODE, START_CDATA, START_COMMENT, START_DOCTYPE, START_PROCESSING_INSTRUCTION, W3C_XML_SCHEMA_INSTANCE_NO_NAMESPACE_SCHEMA_LOCATION_ATTR, W3C_XML_SCHEMA_INSTANCE_NS_URI, W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR, W3C_XML_SCHEMA_NS_URI, XML_DECLARATION, XMLNS_PREFIX, XPATH_ATTRIBUTE_IDENTIFIER, XPATH_CHARACTER_NODE_IDENTIFIER, XPATH_COMMENT_IDENTIFIER, XPATH_NODE_INDEX_END, XPATH_NODE_INDEX_START, XPATH_PROCESSING_INSTRUCTION_IDENTIFIER, XPATH_SEPARATOR
 
Constructor Summary
SimpleXpathEngine()
           
 
Method Summary
 java.lang.String evaluate(java.lang.String select, org.w3c.dom.Document document)
          Evaluate the result of executing the specified xpath syntax select expression on the specified document
 org.w3c.dom.NodeList getMatchingNodes(java.lang.String select, org.w3c.dom.Document document)
          Execute the specified xpath syntax select expression on the specified document and return the list of nodes (could have length zero) that match
protected  org.w3c.dom.Document getXPathResultAsDocument(java.lang.String select, org.w3c.dom.Document document)
          Execute the copy-of transform and return the resulting Document.
protected  org.w3c.dom.Node getXPathResultNode(java.lang.String select, org.w3c.dom.Document document)
          Testable method to execute the copy-of transform and return the root node of the resulting Document.
 void setNamespaceContext(NamespaceContext ctx)
          Establish a namespace context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleXpathEngine

public SimpleXpathEngine()
Method Detail

getXPathResultNode

protected org.w3c.dom.Node getXPathResultNode(java.lang.String select,
                                              org.w3c.dom.Document document)
                                       throws ConfigurationException,
                                              javax.xml.transform.TransformerException,
                                              XpathException
Testable method to execute the copy-of transform and return the root node of the resulting Document.

Parameters:
select -
document -
Returns:
the root node of the Document created by the copy-of transform.
Throws:
ConfigurationException
javax.xml.transform.TransformerException
XpathException

getXPathResultAsDocument

protected org.w3c.dom.Document getXPathResultAsDocument(java.lang.String select,
                                                        org.w3c.dom.Document document)
                                                 throws ConfigurationException,
                                                        javax.xml.transform.TransformerException,
                                                        XpathException
Execute the copy-of transform and return the resulting Document. Used for XMLTestCase comparison

Parameters:
select -
document -
Returns:
the Document created by the copy-of transform.
Throws:
ConfigurationException
javax.xml.transform.TransformerException
XpathException

getMatchingNodes

public org.w3c.dom.NodeList getMatchingNodes(java.lang.String select,
                                             org.w3c.dom.Document document)
                                      throws ConfigurationException,
                                             XpathException
Execute the specified xpath syntax select expression on the specified document and return the list of nodes (could have length zero) that match

Specified by:
getMatchingNodes in interface XpathEngine
Parameters:
select -
document -
Returns:
list of matching nodes
Throws:
ConfigurationException
XpathException

evaluate

public java.lang.String evaluate(java.lang.String select,
                                 org.w3c.dom.Document document)
                          throws ConfigurationException,
                                 XpathException
Evaluate the result of executing the specified xpath syntax select expression on the specified document

Specified by:
evaluate in interface XpathEngine
Parameters:
select -
document -
Returns:
evaluated result
Throws:
ConfigurationException
XpathException

setNamespaceContext

public void setNamespaceContext(NamespaceContext ctx)
Description copied from interface: XpathEngine
Establish a namespace context.

Specified by:
setNamespaceContext in interface XpathEngine

XMLUnit is hosted by sourceforge.net