1. Logic for accessing data in a data structure, the logic encoded in non-transitory media and configured when executed to: determine a node type of a first entry in a node array, wherein the node array defines a hierarchical relationship of a plurality of nodes in a markup language schema and wherein the node array comprises a plurality of entries, and each entry specifies one or more children of a definition node associated with the entry and each entry includes a reference to a name entry in a name array associated with the definition node and a minimum occurrence value and a maximum occurrence value representing a minimum and maximum number of times, respectively, that the associated node should appear within a particular instance of its parent; determine based on the node type whether the first entry is a fixed-size entry or a variable-size entry; identify, in response to determining that the first entry is a fixed-size entry, a fixed-size value associated with the node type; identify, in response to determining that the first entry is a variable-size entry, a base size value and a content size value associated with the node type and a quantity of content associated with the first entry; calculate, in response to determining that the first entry is a variable-size entry, a variable-size value for the entry based on a sum of the base size value and a product of the content size value and the quantity of content associated with the first entry; and calculate an index for a second entry in the node array based on one of the variable-size value and the fixed-size value.