public final class XMLUnit extends Object
Modifier and Type | Method and Description |
---|---|
static Document |
buildControlDocument(InputSource fromSource)
Utility method to build a Document using the control DocumentBuilder
and the specified InputSource
|
static Document |
buildControlDocument(String fromXML)
Utility method to build a Document using the control DocumentBuilder
to parse the specified String.
|
static Document |
buildDocument(DocumentBuilder withBuilder,
InputSource fromSource)
Utility method to build a Document using a specific DocumentBuilder
and a specific InputSource
|
static Document |
buildDocument(DocumentBuilder withBuilder,
Reader fromReader)
Utility method to build a Document using a specific DocumentBuilder
and reading characters from a specific Reader.
|
static Document |
buildTestDocument(InputSource fromSource)
Utility method to build a Document using the test DocumentBuilder
and the specified InputSource
|
static Document |
buildTestDocument(String fromXML)
Utility method to build a Document using the test DocumentBuilder
to parse the specified String.
|
static Diff |
compareXML(Document control,
Document test)
Compare two XML documents provided as strings
|
static Diff |
compareXML(InputSource control,
InputSource test)
Compare XML documents provided by two InputSource classes
|
static Diff |
compareXML(Reader control,
Reader test)
Compare XML documents provided by two Reader classes
|
static Diff |
compareXML(Reader control,
String test)
Compare XML documents provided by two Reader classes
|
static Diff |
compareXML(String control,
Reader test)
Compare XML documents provided by two Reader classes
|
static Diff |
compareXML(String control,
String test)
Compare two XML documents provided as strings
|
static boolean |
getCompareUnmatched()
Whether unmatched control nodes should be compared to unmatched
test nodes.
|
static DocumentBuilderFactory |
getControlDocumentBuilderFactory()
Get the
DocumentBuilderFactory instance used to instantiate
parsers for the control XML in an XMLTestCase. |
static EntityResolver |
getControlEntityResolver()
Obtains the EntityResolver to be added to all new control parsers.
|
static boolean |
getExpandEntityReferences()
Whether the parser shall be instructed to expand entity references.
|
static boolean |
getIgnoreAttributeOrder()
Whether to ignore the order of attributes on an element.
|
static boolean |
getIgnoreComments()
Whether comments should be ignored.
|
static boolean |
getIgnoreDiffBetweenTextAndCDATA()
Whether CDATA sections and Text nodes should be considered the same.
|
static boolean |
getIgnoreWhitespace()
Whether to ignore whitespace when comparing node values.
|
static boolean |
getNormalize()
Whether Text nodes should be normalized.
|
static boolean |
getNormalizeWhitespace()
Whether whitespace characters inside text nodes or attributes
should be "normalized".
|
static SAXParserFactory |
getSAXParserFactory()
Get the SAX parser to use in tests.
|
static Transform |
getStripCommentsTransform(Document forDocument)
Obtain the transformation that will strip comments from a DOM.
|
static Transform |
getStripWhitespaceTransform(Document forDocument)
Obtain the transformation that will strip whitespace from a DOM
containing empty Text nodes
|
static DocumentBuilderFactory |
getTestDocumentBuilderFactory()
Get the
DocumentBuilderFactory instance used to instantiate
parsers for the test XML in an XMLTestCase. |
static EntityResolver |
getTestEntityResolver()
Obtains the EntityResolver to be added to all new test parsers.
|
static TransformerFactory |
getTransformerFactory()
Get the transformer to use for XSLT transformations (and by
implication serialization and XPaths).
|
static URIResolver |
getURIResolver()
Gets the URIResolver used during Transformations.
|
static String |
getVersion()
Place holder for current version info.
|
static Document |
getWhitespaceStrippedDocument(Document forDoc)
Returns a new Document instance that is identical to the one
passed in with element content whitespace removed.
|
static String |
getXPathFactory()
Gets the class to use as XPathFactory when using JAXP 1.3.
|
static NamespaceContext |
getXpathNamespaceContext()
Get the NamespaceContext to use in XPath tests.
|
static String |
getXSLTVersion()
The XSLT version set on stylesheets used internally.
|
static DocumentBuilder |
newControlParser()
Get the
DocumentBuilder instance used to parse the control
XML in an XMLTestCase. |
static DocumentBuilder |
newTestParser()
Get the
DocumentBuilder instance used to parse the test XML
in an XMLTestCase. |
static XpathEngine |
newXpathEngine()
Obtains an XpathEngine to use in XPath tests.
|
static void |
setCompareUnmatched(boolean b)
Whether to compare unmatched control nodes to unmatched test nodes.
|
static void |
setControlDocumentBuilderFactory(DocumentBuilderFactory factory)
Override the
DocumentBuilderFactory used to instantiate
parsers for the control XML in an XMLTestCase. |
static void |
setControlEntityResolver(EntityResolver resolver)
Sets an EntityResolver to be added to all new control parsers.
|
static void |
setControlParser(String className)
Overide the DocumentBuilder to use to parse control documents.
|
static void |
setExpandEntityReferences(boolean b)
Whether the parser shall be instructed to expand entity references.
|
static void |
setIgnoreAttributeOrder(boolean b)
Whether to ignore the order of attributes on an element.
|
static void |
setIgnoreComments(boolean b)
Whether comments should be ignored.
|
static void |
setIgnoreDiffBetweenTextAndCDATA(boolean b)
Whether CDATA sections and Text nodes should be considered the same.
|
static void |
setIgnoreWhitespace(boolean ignore)
Whether to ignore whitespace when comparing node values.
|
static void |
setNormalize(boolean b)
Whether Text nodes should be normalized.
|
static void |
setNormalizeWhitespace(boolean b)
Whether whitespace characters inside text nodes or attributes
should be "normalized".
|
static void |
setSAXParserFactory(SAXParserFactory factory)
Override the SAX parser to use in tests.
|
static void |
setSAXParserFactory(String className)
Override the SAX parser to use in tests.
|
static void |
setTestDocumentBuilderFactory(DocumentBuilderFactory factory)
Override the
DocumentBuilderFactory used to instantiate
parsers for the test XML in an XMLTestCase. |
static void |
setTestEntityResolver(EntityResolver resolver)
Sets an EntityResolver to be added to all new test parsers.
|
static void |
setTestParser(String className)
Overide the DocumentBuilder to use to parser test documents.
|
static void |
setTransformerFactory(String className)
Overide the transformer to use for XSLT transformations (and by
implication serialization and XPaths).
|
static void |
setURIResolver(URIResolver resolver)
Sets the URIResolver to use during transformations.
|
static void |
setXPathFactory(String className)
Sets the class to use as XPathFactory when using JAXP 1.3.
|
static void |
setXpathNamespaceContext(NamespaceContext ctx)
Set the NamespaceContext to use in XPath tests.
|
static void |
setXSLTVersion(String s)
Sets the XSLT version to set on stylesheets used internally.
|
public static void setControlParser(String className)
public static DocumentBuilder newControlParser() throws ConfigurationException
DocumentBuilder
instance used to parse the control
XML in an XMLTestCase.ConfigurationException
public static void setTestEntityResolver(EntityResolver resolver)
public static void setControlEntityResolver(EntityResolver resolver)
public static EntityResolver getControlEntityResolver()
public static EntityResolver getTestEntityResolver()
public static DocumentBuilderFactory getControlDocumentBuilderFactory()
DocumentBuilderFactory
instance used to instantiate
parsers for the control XML in an XMLTestCase.public static void setControlDocumentBuilderFactory(DocumentBuilderFactory factory)
DocumentBuilderFactory
used to instantiate
parsers for the control XML in an XMLTestCase.public static void setTestParser(String className)
public static DocumentBuilder newTestParser() throws ConfigurationException
DocumentBuilder
instance used to parse the test XML
in an XMLTestCase.ConfigurationException
public static DocumentBuilderFactory getTestDocumentBuilderFactory()
DocumentBuilderFactory
instance used to instantiate
parsers for the test XML in an XMLTestCase.public static void setTestDocumentBuilderFactory(DocumentBuilderFactory factory)
DocumentBuilderFactory
used to instantiate
parsers for the test XML in an XMLTestCase.public static void setIgnoreWhitespace(boolean ignore)
This method also invokes
setIgnoringElementContentWhitespace()
on the
underlying control AND test document builder factories.
Setting this parameter has no effect on whitespace inside texts
.
public static boolean getIgnoreWhitespace()
public static Document buildControlDocument(String fromXML) throws SAXException, IOException
fromXML
- SAXException
IOException
public static Document buildControlDocument(InputSource fromSource) throws IOException, SAXException
fromSource
- SAXException
IOException
public static Document buildTestDocument(String fromXML) throws SAXException, IOException
fromXML
- SAXException
IOException
public static Document buildTestDocument(InputSource fromSource) throws IOException, SAXException
fromSource
- SAXException
IOException
public static Document buildDocument(DocumentBuilder withBuilder, Reader fromReader) throws SAXException, IOException
withBuilder
- fromReader
- SAXException
IOException
public static Document buildDocument(DocumentBuilder withBuilder, InputSource fromSource) throws IOException, SAXException
withBuilder
- fromSource
- SAXException
IOException
public static void setTransformerFactory(String className)
public static TransformerFactory getTransformerFactory()
public static void setURIResolver(URIResolver resolver)
public static URIResolver getURIResolver()
public static void setSAXParserFactory(String className)
Validator class
className
- public static void setSAXParserFactory(SAXParserFactory factory)
Validator class
factory
- public static SAXParserFactory getSAXParserFactory()
Unless an instance has been given via setSAXParserFactory
explicitly, the returned factory will be namespace aware.
Validator
to perform DTD validationpublic static Transform getStripWhitespaceTransform(Document forDocument)
forDocument
- Transform
to do the whitespace strippingpublic static Document getWhitespaceStrippedDocument(Document forDoc)
Will use getStripWhitespaceTransform
unless we are operating under the
severly broken XSLTC Transformer shipping with JDK 1.5.
public static Transform getStripCommentsTransform(Document forDocument)
forDocument
- Transform
to do the whitespace strippingpublic static String getVersion()
public static Diff compareXML(InputSource control, InputSource test) throws SAXException, IOException
control
- Control documenttest
- Document to testSAXException
IOException
public static Diff compareXML(Reader control, Reader test) throws SAXException, IOException
control
- Control documenttest
- Document to testSAXException
IOException
public static Diff compareXML(String control, Reader test) throws SAXException, IOException
control
- Control documenttest
- Document to testSAXException
IOException
public static Diff compareXML(Reader control, String test) throws SAXException, IOException
control
- Control documenttest
- Document to testSAXException
IOException
public static Diff compareXML(String control, String test) throws SAXException, IOException
control
- Control documenttest
- Document to testSAXException
IOException
public static Diff compareXML(Document control, Document test)
control
- Control documenttest
- Document to testpublic static NamespaceContext getXpathNamespaceContext()
public static void setXpathNamespaceContext(NamespaceContext ctx)
public static XpathEngine newXpathEngine()
public static void setIgnoreDiffBetweenTextAndCDATA(boolean b)
The default is false.
This also set the DocumentBuilderFactory's coalescing
flag on the factories for the control and test
document.
public static boolean getIgnoreDiffBetweenTextAndCDATA()
public static void setIgnoreComments(boolean b)
The default value is false
public static boolean getIgnoreComments()
The default value is false
public static void setNormalize(boolean b)
The default value is false
Note: if you are only working with documents read
from streams (like files or network connections) or working
with strings, there is no reason to change the default since
the XML parser is required to normalize the documents. If you
are testing Document
instances you've
created in code, you may want to alter the default
behavior.
Note2: depending on the XML parser or XSLT
transformer you use, setting ignoreWhitespace
or ignoreComments
to true may have already normalized your document and this
setting doesn't have any effect anymore.
public static boolean getNormalize()
The default value is false
public static void setNormalizeWhitespace(boolean b)
Normalized in this context means that all whitespace is replaced by the space character and adjacent whitespace characters are collapsed to a single space character. It will also trim the resulting character content on both ends.
The default value is false.
Setting this parameter has no effect on ignorable whitespace
.
public static boolean getNormalizeWhitespace()
Normalized in this context means that all whitespace is replaced by the space character and adjacent whitespace characters are collapsed to a single space character.
The default value is false.
public static void setIgnoreAttributeOrder(boolean b)
The order of attributes has never been relevant for XML documents, still XMLUnit can consider two pieces of XML not-identical (but similar) if they differ in order of attributes. Set this option to true to compare the order.
The default value is true
public static boolean getIgnoreAttributeOrder()
The order of attributes has never been relevant for XML documents, still XMLUnit can consider two pieces of XML not-identical (but similar) if they differ in order of attributes. Set this option to true to compare the order.
The default value is true
public static void setXSLTVersion(String s)
Defaults to "1.0".
ConfigurationException
- if the argument cannot be parsed
as a positive number.public static String getXSLTVersion()
Defaults to "1.0".
public static void setXPathFactory(String className)
public static String getXPathFactory()
public static void setExpandEntityReferences(boolean b)
Defaults to false.
public static boolean getExpandEntityReferences()
public static void setCompareUnmatched(boolean b)
Defaults to true.
public static boolean getCompareUnmatched()
Copyright © 2001–2017 XMLUnit. All rights reserved.