Structure-aware diff for html and xml documents