19. The computer-readable storage medium of claim 15 , the operations further comprising interfacing with at least one of C#, Visual Basic, C, C++, Pascal, Java or Javascript.
15. A computer-readable storage medium tangibly embodying computer-executable instructions configured to, in response to execution by at least one computing device, cause operations comprising: receiving an indication of an XML file or an XML stream to update in an input tree, and an update combinator, the update combinator including a function to apply to nodes matching the update combinator; optimizing a query to search for nodes matching the update combinator at least partly by skipping a search of a subtree associated with the input tree based on an XML schema associated with the input tree; searching for at least one node in the input tree matching the update combinator using the optimized search; cloning one or more portions of the input tree that include a matching node corresponding to the update combinator; streaming portions of the input tree respectively corresponding to a matched node, wherein only a portion of the input tree is streamed into memory at any given time; updating a cloned portion of the at least one node in the input tree by applying the function indicated by the update combinator; determining an amount of memory to be used based on a size of the input tree and an expected number of updates; and outputting an output tree comprising updated nodes.