Abstract: A method of recording changes to a markup language file which employs application-defined tags. The changes are recorded in a delta file which is also a markup language file providing validation of the recorded changes against substantially the same markup language structure as that of the markup language file being changed. Where the original markup language file is an XML file with a DTD, a DTD can be created for the delta file which substantially follows the DTD of the original markup language file. Strict compliance of the data recorded in the delta file with the delta DTD provides validation of the changes with respect to the original XML file.