1. A method of managing XML documents, comprising: receiving an original XML document that includes information from a hierarchical database; generating a copy of the original XML document; annotating the original XML document with an identifier that uniquely identifies each node in the document and a corresponding node in the copy of the XML document; accepting at least one edit operation to the original XML document; modifying at least one annotation to the original XML document in response to the at least one edit operation; identifying at least one change to the original XML document as a result of the at least one edit operation; and updating the database to reflect the change to the original XML document.