1. A computer program product for storing a representation of a digital document, including first means for storing the digital document, the digital document having descriptive markup defining a plurality of hierarchical elements, wherein each element except a root element has an ancestor element and wherein each element has a type name and wherein an element may have a child element, a left sibling element, a right sibling element, and wherein at least one element contains text content, the computer program product comprising: a computer readable media having computer program logic stored thereon, wherein the computer program logic defines: second means for storing a value indicative of a parent element for each element having a parent element; third means for storing a value indicative of a first child element for each element having a child element; and fourth means for storing a value indicative of a left sibling element, for each element having a left sibling element.
7. The computer program product of claim 1, wherein the computer program logic further defines: means for accessing the second through fourth means for storing for an element using a unique identifier for the element.