1. A method of processing a query, comprising: receiving the query, wherein the query specifies certain operations to be performed, wherein the certain operations comprise a first set of one or more operations that are to be performed on a markup language data source; determining, based on a particular set of criteria, that a second set of one or more operations are to be performed at a first server associated with the markup language data source, wherein the first set of one or more operations include all operations in the second set of one or more operations; sending a request to the first server to perform the second set of one or more operations; receiving a response to the request, wherein the response contains results of performing the second set of one or more operations on the markup language data source; and generating results for the query based at least in part on the results of performing the second set of one or more operations.