org.custommonkey.xmlunit

## Class SimpleXpathEngine

- java.lang.Object
- - 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, NULL_NS_URI, 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_INSTANCE_TYPE_ATTR, W3C_XML_SCHEMA_NS_URI, XML_DECLARATION, XMLNS_ATTRIBUTE_URI, 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

Constructors
Constructor and Description
`SimpleXpathEngine()`

### Method Summary

Methods
`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`