1. A computer-implemented method for processing a markup language document, comprising: receiving a first version of a target document into computer memory; receiving a second version of the target document into computer memory; using a computer processor, encapsulating one of the first and second versions of the target document within an encapsulating document, the encapsulated document being represented in the encapsulating document as a tree of interconnected nodes encoding the entire one of the first and second versions of the document; encoding a change history corresponding to a difference between the first version and second version of the target document, wherein the change history contains a versioning point for each of a plurality of versions of the target document and a respective version identifier; wherein in the encoding of the change history, a diff engine compares the two versions of the target document and outputs the differences between the two versions in a change description language; and wherein at least one of the versioning points contains a version difference derived from the diff engine output; encapsulating the change history within the encapsulating document; providing for receiving a version identifier into computer memory corresponding to one of the versions encapsulated in the encapsulating document; applying version differences contained within the change history to the version of the target document within the encapsulating document such that, after the version differences are applied, the encapsulated version of the target document represents the versioning point corresponding to the received version identifier; re-encoding the versioning points, which are contained within the change history of the encapsulating document, relative to the focused target document; and outputting the encapsulating document.
1. A computer-implemented method for processing a markup language document, comprising: receiving a first version of a target document into computer memory; receiving a second version of the target document into computer memory; using a computer processor, encapsulating one of the first and second versions of the target document within an encapsulating document, the encapsulated document being represented in the encapsulating document as a tree of interconnected nodes encoding the entire one of the first and second versions of the document; encoding a change history corresponding to a difference between the first version and second version of the target document, wherein the change history contains a versioning point for each of a plurality of versions of the target document and a respective version identifier; wherein in the encoding of the change history, a diff engine compares the two versions of the target document and outputs the differences between the two versions in a change description language; and wherein at least one of the versioning points contains a version difference derived from the diff engine output; encapsulating the change history within the encapsulating document; providing for receiving a version identifier into computer memory corresponding to one of the versions encapsulated in the encapsulating document; applying version differences contained within the change history to the version of the target document within the encapsulating document such that, after the version differences are applied, the encapsulated version of the target document represents the versioning point corresponding to the received version identifier; re-encoding the versioning points, which are contained within the change history of the encapsulating document, relative to the focused target document; and outputting the encapsulating document. 11. The method of claim 1 , wherein encapsulating the first or second version of the target document within a standalone encapsulating document includes the use of an inclusion link or external reference.