These two modules help enable you to check if two XML documents are
semantically the same. Some other modules try this but don't check
namespaces. These modules check that the namespaces of each element (if
defined) even if they are mapped to different prefixes.
The XML::Compare module export the same(), is_same() and is_different()
functions. The latter two return true or false (but no reason why) whereas the former returns true but throws an exception containing reasoning information if different. The latter _could_ be used as an assert statement in your code.
The Test::XML::Compare modules enable you to use is_xml_same() and
is_xml_different() functions in your unit tests as you would usually use Test::More et al.