8. A system for accessing data in a data structure, comprising: a memory configured to store a node array; and a processor configured to: determine a node type of a first entry in the 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; and 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.
14. The system of claim 8 , wherein the node array comprises a first node array and wherein the processor is further configured to concatenate the first node array to a second node array that includes one or more entries.