1. A method of representing three or more markup language source files in one markup language delta file, the method comprising the steps of: a) determining that each of the three or more markup language source files has a root element of the same type, where elements of the same type are elements with the same name and namespace; b) creating a delta file with a root element of the same type as the root element of the three or more markup language source files; c) recording in the delta file information about the contents of the three or more markup language source files which is not common to all the source files wherein each element in the source files has the same type as its corresponding element in the delta file and has ancestor elements of the same type as the corresponding ancestor elements in the delta file up to and including the root element, any two elements that are siblings in a source file have corresponding elements that are siblings in the delta file, and any text node directly or indirectly within a source file element has a corresponding text node contained directly or indirectly within the corresponding delta file element; d) determining which subtrees in the source files are common to two or more of the source files; and e) identifying in the delta file common subtrees as equal whereby any one of the source files may be extracted from the delta file and when a source file is removed from the delta file, the information remaining in the resulting delta file remains true with respect to at least step c) and step e) for the remaining markup language source files.