Package org.custommonkey.xmlunit
Class SimpleXpathEngine
java.lang.Object
org.custommonkey.xmlunit.SimpleXpathEngine
- All Implemented Interfaces:
XMLConstants
,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...)-
Field Summary
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_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
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionEvaluate the result of executing the specified xpath syntaxselect
expression on the specified documentgetMatchingNodes
(String select, Document document) Execute the specified xpath syntaxselect
expression on the specified document and return the list of nodes (could have length zero) that matchprotected Document
getXPathResultAsDocument
(String select, Document document) Execute the copy-of transform and return the resulting Document.protected Node
getXPathResultNode
(String select, Document document) Testable method to execute the copy-of transform and return the root node of the resulting Document.void
Establish a namespace context.
-
Constructor Details
-
SimpleXpathEngine
public SimpleXpathEngine()
-
-
Method Details
-
getXPathResultNode
protected Node getXPathResultNode(String select, Document document) throws ConfigurationException, TransformerException, XpathException Testable method to execute the copy-of transform and return the root node of the resulting Document.- Parameters:
select
- the XPath expressiondocument
- the XML source to apply the expression to- Returns:
- the root node of the Document created by the copy-of transform.
- Throws:
ConfigurationException
- if the underlying implementation doesTransformerException
- if the underlying implementation doesXpathException
- if the underlying implementation does
-
getXPathResultAsDocument
protected Document getXPathResultAsDocument(String select, Document document) throws ConfigurationException, TransformerException, XpathException Execute the copy-of transform and return the resulting Document. Used for XMLTestCase comparison- Parameters:
select
- the XPath expressiondocument
- the XML source to apply the expression to- Returns:
- the Document created by the copy-of transform.
- Throws:
ConfigurationException
- if the underlying implementation doesTransformerException
- if the underlying implementation doesXpathException
- if the underlying implementation does
-
getMatchingNodes
public NodeList getMatchingNodes(String select, Document document) throws ConfigurationException, XpathException Execute the specified xpath syntaxselect
expression on the specified document and return the list of nodes (could have length zero) that match- Specified by:
getMatchingNodes
in interfaceXpathEngine
- Parameters:
select
- the XPath expressiondocument
- the XML source to apply the expression to- Returns:
- matching nodes
- Throws:
XpathException
- if the underlying implementation doesConfigurationException
-
evaluate
public String evaluate(String select, Document document) throws ConfigurationException, XpathException Evaluate the result of executing the specified xpath syntaxselect
expression on the specified document- Specified by:
evaluate
in interfaceXpathEngine
- Parameters:
select
- the XPath expressiondocument
- the XML source to apply the expression to- Returns:
- evaluated result
- Throws:
XpathException
- if the underlying implementation doesConfigurationException
-
setNamespaceContext
Description copied from interface:XpathEngine
Establish a namespace context.- Specified by:
setNamespaceContext
in interfaceXpathEngine
- Parameters:
ctx
- the NamespaceContext
-