1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of: A) sending said instructions over transmission media; B) receiving said instructions over transmission media; C) storing said instructions onto a machine-readable storage medium; and D) executing the instructions; wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a depth value indicating a depth in a first document and a second document, wherein: the first document comprises a first plurality of nodes; and the second document comprises a second plurality of nodes; generating one or more distance matrices, wherein a first axis of each distance matrix includes a first ordered subset of the first plurality of nodes and a second axis of said each distance matrix includes a second ordered subset of the second plurality of nodes, wherein the first and second ordered subsets do not include any nodes below the depth in the respective documents indicated by the depth value; for each node included in the first axis and the second axis at least at or below the depth, computing a hash value based on said each node and descendents of said each node; based on the hash value computed for said each node, generating a plurality of proposed paths through the one or more distance matrices; selecting, based on one or more criteria, a proposed path from the plurality of proposed paths; and generating, based on the proposed path, an edit script.