Package org.xmlunit.diff
Class MultiLevelByNameAndTextSelector
java.lang.Object
org.xmlunit.diff.MultiLevelByNameAndTextSelector
- All Implemented Interfaces:
ElementSelector
ElementSelector
that allows two elements to be compared if
their name (including namespace URI, if any) and textual content is
the same at a certain level of nesting.
This means ElementSelectors.byNameAndText
and
MultiLevelByNameAndTextSelector(1)
should lead to the same
results.
Any attribute values are completely ignored. Only works on elements with exactly one child element at each level.
This class mostly exists as an example for custom
ElementSelectors and may need to be combined inside a conditionalSelector
in order
to be useful for the document as a whole.
-
Constructor Summary
ConstructorDescriptionMultiLevelByNameAndTextSelector
(int levels) Uses element names and the text nestedlevels
child elements deeper into the element to compare elements.MultiLevelByNameAndTextSelector
(int levels, boolean ignoreEmptyTexts) Uses element names and the text nestedlevels
child elements deeper into the element to compare elements. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canBeCompared
(Element controlElement, Element testElement) Determine whether the two elements from the control and test XML can be compared.
-
Constructor Details
-
MultiLevelByNameAndTextSelector
public MultiLevelByNameAndTextSelector(int levels) Uses element names and the text nestedlevels
child elements deeper into the element to compare elements.Does not ignore empty text nodes.
- Parameters:
levels
- level of nesting to use when looking up the text
-
MultiLevelByNameAndTextSelector
public MultiLevelByNameAndTextSelector(int levels, boolean ignoreEmptyTexts) Uses element names and the text nestedlevels
child elements deeper into the element to compare elements.- Parameters:
levels
- level of nesting to use when looking up the textignoreEmptyTexts
- whether whitespace-only textnodes should be ignored.
-
-
Method Details
-
canBeCompared
Description copied from interface:ElementSelector
Determine whether the two elements from the control and test XML can be compared.- Specified by:
canBeCompared
in interfaceElementSelector
- Parameters:
controlElement
- element of the control XMLtestElement
- element of the test XML- Returns:
- true if the two elements can be compared
-