1. A computer system for converting a single expression that references multiple branches within a hierarchical schema into multiple expressions that each reference a single branch of the hierarchical schema, the computer system comprising: one or more processors that execute computer-executable instructions; and one or more computer readable media with computer-executable instructions to be executed by the one or more processors, the computer-executable instructions comprising: computer-executable instructions for receiving an expression referencing data which is described by a hierarchical schema, wherein the expression comprises one or more components each of which may reference one or more branches of the hierarchical schema; computer-executable instructions for creating an empty list of new branches; computer-executable instructions that for a particular base branch, parse a component of the expression to identify each branch with respect to the particular base branch that is referenced by the parsed component; and computer-executable instructions that for each identified branch, add a new branch to the list of new branches, wherein each new branch comprises an identified branch combined with the particular base branch.