1. A digital processing system comprising: a processor; a random access memory (RAM); a machine readable medium to store one or more instructions, which when retrieved into said RAM and executed by said processor causes said digital processing system to transform XML (eXtensible Markup Language) data to an output in a desired format, said digital processing system performing the actions of: receiving XML data containing a plurality of elements, each element being uniquely identified by a corresponding identifier; during a first pass of processing of said XML data, populating a cache with a set of elements of said plurality of elements, the identifiers of each of said set of elements being pre-specified in a configuration data as being required for generating portions of said output for other elements of said plurality of elements, said set of elements including a first element; during a second pass of processing of said XML data using a set of XSL (EXtensible Stylesheet Language) transformation rules: determining that a first XSL transformation rule of said set of XSL transformation rules specifies a first output portion of said output for a second element, said first XSL transformation rule specifying that said first element is to be used for forming said first output portion for said second element; parsing said XML data to identify the occurrence of said second element; in response to the occurrence of said second element in said XML data, retrieving said first element from said cache; forming said first output portion by incorporating said first element according to said first XSL transformation rule; and including said first output portion in said desired format in said output, as a response to occurrence of said first element in said XML data, wherein examination of all of said plurality of elements is complete in said first pass prior to start of said second pass.