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
FieldsFields 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_SEPARATORFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionEvaluate the result of executing the specified xpath syntaxselectexpression on the specified documentprivate StringgetCopyTransformation(String select) getMatchingNodes(String select, Document document) Execute the specified xpath syntaxselectexpression on the specified document and return the list of nodes (could have length zero) that matchprivate Stringreturns namespace declarations for all namespaces known to the current context.private StringgetValueTransformation(String select) protected DocumentgetXPathResultAsDocument(String select, Document document) Execute the copy-of transform and return the resulting Document.protected NodegetXPathResultNode(String select, Document document) Testable method to execute the copy-of transform and return the root node of the resulting Document.private StringBuilderWhat every XSL transform needsprivate voidperformTransform(String xslt, Document document, Result result) Perform the actual transformation work requiredvoidEstablish a namespace context.
-
Field Details
-
ctx
-
-
Constructor Details
-
SimpleXpathEngine
public SimpleXpathEngine()
-
-
Method Details
-
getXSLTBase
What every XSL transform needs -
getCopyTransformation
- Parameters:
select- an xpath syntaxselectexpression- Returns:
- the
copy-oftransformation
-
getValueTransformation
- Parameters:
select- an xpath syntaxselectexpression- Returns:
- the
value-oftransformation
-
performTransform
private void performTransform(String xslt, Document document, Result result) throws TransformerException, ConfigurationException, XpathException Perform the actual transformation work required- Parameters:
xslt-document-result-- Throws:
XpathExceptionTransformerExceptionConfigurationException
-
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-document-- Returns:
- the root node of the Document created by the copy-of transform.
- Throws:
ConfigurationExceptionTransformerExceptionXpathException
-
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-document-- Returns:
- the Document created by the copy-of transform.
- Throws:
ConfigurationExceptionTransformerExceptionXpathException
-
getMatchingNodes
public NodeList getMatchingNodes(String select, Document document) throws ConfigurationException, XpathException Execute the specified xpath syntaxselectexpression on the specified document and return the list of nodes (could have length zero) that match- Specified by:
getMatchingNodesin interfaceXpathEngine- Parameters:
select-document-- Returns:
- list of matching nodes
- Throws:
ConfigurationExceptionXpathException
-
evaluate
public String evaluate(String select, Document document) throws ConfigurationException, XpathException Evaluate the result of executing the specified xpath syntaxselectexpression on the specified document- Specified by:
evaluatein interfaceXpathEngine- Parameters:
select-document-- Returns:
- evaluated result
- Throws:
ConfigurationExceptionXpathException
-
setNamespaceContext
Description copied from interface:XpathEngineEstablish a namespace context.- Specified by:
setNamespaceContextin interfaceXpathEngine
-
getNamespaceDeclarations
returns namespace declarations for all namespaces known to the current context.
-