The Lorax is a full diff and patch library for XML/HTML documents, based on Nokogiri. It can tell you whether two XML/HTML documents are identical, or if they're not, tell you what's different. In trivial cases, it can even apply the patch. It's based loosely on Gregory Cobena's master's thesis paper, which generates deltas in less than O(n * log n) time, accepting some tradeoffs in the size of the delta set. You can find his paper at http://gregory.cobena.free.fr/www/Publications/thesis.html.