12. One or more non-transitory computer-readable media storing instructions, wherein the instructions include: instructions which, when executed by one or more hardware processors, cause, for each node in nodes within an eXtensible Markup Language (XML) document, determining a storage representation for said each node based at least on characteristics of a sub-tree rooted at said each node; wherein determining the storage representation for said each node further comprises: determining whether the characteristics of the sub-tree rooted at said each node meet a first criterion; and in response to determining that the characteristics of the sub-tree rooted at said each node meet the first criterion, determining to store said each node in navigable storage; wherein storing said each node in the navigable storage causes said each node to be stored in a navigable representation of said each node, the navigable representation of said each node includes at least one pointer to another node in the navigable storage, said at least one pointer to the other node in the navigable storage being one of: a pointer to a parent node of said each node, a pointer to a child node of said each node, a pointer to a sibling node of said each node, or a pointer to a previous sibling node of said each node; in response to determining that the characteristics of the sub-tree rooted at said each node do not meet the first criterion, determining to store said each node in streamable storage; wherein storing said each node in the streamable storage causes said each node to be stored in a document order of the XML document.
12. One or more non-transitory computer-readable media storing instructions, wherein the instructions include: instructions which, when executed by one or more hardware processors, cause, for each node in nodes within an eXtensible Markup Language (XML) document, determining a storage representation for said each node based at least on characteristics of a sub-tree rooted at said each node; wherein determining the storage representation for said each node further comprises: determining whether the characteristics of the sub-tree rooted at said each node meet a first criterion; and in response to determining that the characteristics of the sub-tree rooted at said each node meet the first criterion, determining to store said each node in navigable storage; wherein storing said each node in the navigable storage causes said each node to be stored in a navigable representation of said each node, the navigable representation of said each node includes at least one pointer to another node in the navigable storage, said at least one pointer to the other node in the navigable storage being one of: a pointer to a parent node of said each node, a pointer to a child node of said each node, a pointer to a sibling node of said each node, or a pointer to a previous sibling node of said each node; in response to determining that the characteristics of the sub-tree rooted at said each node do not meet the first criterion, determining to store said each node in streamable storage; wherein storing said each node in the streamable storage causes said each node to be stored in a document order of the XML document. 13. The one or more non-transitory computer-readable media of claim 12 , wherein the instructions further include instructions which, when executed by one or more hardware processors, cause determining whether a suitability metric evaluated over the sub-tree rooted at said each node exceeds a threshold value.