Patent ID: 7970779

Claim:
A method of transforming data, the method comprising: positioning a definition pointer to point at a first compound transform definition within a transform definition file; invoking a first parallel processing thread to read the pointed at first compound transform definition; searching data to be transformed for a data element to be transformed, the search being responsive to the first compound transform definition; calling a dynamic function defined in the transform definition file, the dynamic function located elsewhere in the transform definition file from the definition pointer position; transforming any found data element into an output data file, responsive to the first compound transform definition and called dynamic function, a data structure of the output data file being responsive to a data structure of the first compound transform definition; determining a type of the read first compound transform definition; based on a determination that the first compound transform definition is compound, processing each sub-definition of the read first compound transform definition by repeating the positioning, invoking, searching, calling, and transforming for each sub-definition in order to transform each sub-definition recursively, wherein the data elements transformation includes nesting of a data element; determining if all sub-definitions of the first compound transform definition have been processed; positioning a definition pointer to point at a second compound transform definition within the transform definition file; invoking a second parallel processing thread to read the pointed at second compound transform definition; searching data to be transformed for another data element to be transformed, the search being responsive to the second compound transform definition; transforming any found data element into the output data file, responsive to the second compound transform definition, the data structure of the output data file being responsive to the data structure of the second compound transform definition; and if no data element is found to be transformed, adding one or more output data elements to the output data file responsive to the read first compound transform definition, the data to be transformed having no contribution to the output data element.