1. A computer-implemented method comprising: receiving an extended markup language (XML) query that requests data from one or more XML documents, wherein the XML query specifies one or more tags; evaluating the XML query to determine one or more XML results for the XML query, wherein evaluating the XML query to determine one or more XML results for the XML query comprises generating and storing in volatile memory, an encoding that maps the one or more tags that are specified in the XML query to one or more fields; wherein evaluating the XML query for a particular XML result, of the one or more XML results, further comprises: instantiating, in volatile memory, a particular data structure that represents the particular XML result and that comprises the one or more fields according to the encoding; and storing, in the one or more fields of the particular data structure, one or more locators that respectively point to one or more fragments in the one or more XML documents, wherein the particular data structure stores the one or more locators but does not store the one or more fragments pointed to by the one or more locators, wherein a locator of said one or more locators, stored in a field of the one or more fields, includes (a) a document identifier identifying in which XML document a respective fragment resides, and (b) a value that identifies a location of the respective fragment within the identified XML document; in response to a request indicating the particular XML result, generating a serialized representation of the particular XML result based at least on the particular data structure; wherein the method is performed by one or more computing devices.