in reply to Smart Diff - compare XML files

XML::SemanticDiff should do what you're after, you may also wish to look at XML::DifferenceMarkup