Различные спецификации XML предоставляют широкий выбор методов для сравнения равенства;например, XSD имеет два отдельных понятия («равенство» и «идентичность»), а XPath имеет разные определения для оператора eq, для values-values () и для сравнения ключей в картах.Это просто для сравнения атомарных значений;для узлов становится хуже.Есть определение, используемое deep-equal () в XPath, есть оператор «is» в XPath и равенство при канонизации XML.Saxon: deep-equal () расширяет это, добавляя опции, позволяющие определить (например) узлы пробельного текста, префиксы пространства имен и комментарии при сравнении.
Большинство из этих опций доступны изJava API по некоторому механизму, но сначала вы должны решить, какой вам нужен.