1. A machine-implemented method, comprising the steps of: receiving a query that requests data from a resource repository that stores multiple resources in a resource hierarchy; wherein content of each of the multiple resources conforms to a hierarchical markup language; wherein the query includes: a resource location path that (a) identifies a hierarchical location of a first set of one or more resources within the resource hierarchy of the resource repository (b) without identifying any particular content of a resource in the resource repository, and a content path that identifies a hierarchical location of one or more nodes within content of a second set of one or more resources; storing an index that includes: entries that index resource location paths for a plurality of resources within the resource hierarchy, and entries that index content paths for the plurality of resources; computing the query, wherein computing includes: using, based on the resource location path, said index to generate first results that identify the first set of one or more resources, and using, based on the content path, said index to generate second results that identify the one or more nodes and that identify the second set of one or more resources; and computing results of the query based on the first results and the second results, wherein the results of the query identify a particular set of one or more resources that are a subset of (1) the first set of one or more resources and (2) the second set of one or more resources; wherein the steps are performed on one or more computing devices.