4. A non-transitory program storage device in which is stored computer readable instructions for generating a markup language delta file representing contents of three or more markup language source files whenever an element type of a root element of each of the three or more markup language source files is the same, the computer readable instructions comprising: a) instructions for accessing three or more markup language source files and determining that the element type of the root element of each of the three or more markup language source files is the same, where elements of the same type are elements with the same name and namespace; b) instructions for creating and storing in a data storage device 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) instructions for recording in the delta file stored in the data storage device information about all non-common contents of the three or more markup language source files which is not common to all the source files, wherein for the non-common content every element in the source files has a corresponding element of the same type recorded in the delta file and ancestor elements have corresponding ancestor elements of the same type recorded in the delta file up to and including the root element, for every two elements that are siblings in a source file corresponding elements that are siblings are recorded in the delta file, and all text nodes directly or indirectly within a source file element have corresponding text nodes contained directly or indirectly within the corresponding delta file element; d) instructions for determining for every subtree in the source files whether or not a common subtree is present in at least one of the other source files; and e) instructions for recording in the delta file stored in the data storage device common subtrees as equal whereby any attribute, text string or subtree that is present and the same in all of the markup language source files is present in the delta file only once in exactly the same format as the attribute, text string or subtree appeared in the source files and any one of the source files is extractable 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.
4. A non-transitory program storage device in which is stored computer readable instructions for generating a markup language delta file representing contents of three or more markup language source files whenever an element type of a root element of each of the three or more markup language source files is the same, the computer readable instructions comprising: a) instructions for accessing three or more markup language source files and determining that the element type of the root element of each of the three or more markup language source files is the same, where elements of the same type are elements with the same name and namespace; b) instructions for creating and storing in a data storage device 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) instructions for recording in the delta file stored in the data storage device information about all non-common contents of the three or more markup language source files which is not common to all the source files, wherein for the non-common content every element in the source files has a corresponding element of the same type recorded in the delta file and ancestor elements have corresponding ancestor elements of the same type recorded in the delta file up to and including the root element, for every two elements that are siblings in a source file corresponding elements that are siblings are recorded in the delta file, and all text nodes directly or indirectly within a source file element have corresponding text nodes contained directly or indirectly within the corresponding delta file element; d) instructions for determining for every subtree in the source files whether or not a common subtree is present in at least one of the other source files; and e) instructions for recording in the delta file stored in the data storage device common subtrees as equal whereby any attribute, text string or subtree that is present and the same in all of the markup language source files is present in the delta file only once in exactly the same format as the attribute, text string or subtree appeared in the source files and any one of the source files is extractable 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. 6. The non-transitory program storage device in which is stored computer readable instructions for generating a delta file as claimed in claim 4 , wherein the delta file enables one or more of the source files to be extracted using XQuery.