Efficient memory representation of XML document trees

Giorgio Busatto, Markus Lohrey, Sebastian Maneth

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

Implementations that load XML documents and give access to them via, e.g., the DOM, suffer from huge memory demands: the space needed to load an XML document is usually many times larger than the size of the document. A considerable amount of memory is needed to store the tree structure of the XML document. In this paper, a technique is presented that allows to represent the tree structure of an XML document in an efficient way. The representation exploits the high regularity in XML documents by compressing their tree structure; the latter means to detect and remove repetitions of tree patterns. Formally, context-free tree grammars that generate only a single tree are used for tree compression. The functionality of basic tree operations, like traversal along edges, is preserved under this compressed representation. This allows to directly execute queries (and in particular, bulk operations) without prior decompression. The complexity of certain computational problems like validation against XML types or testing equality is investigated for compressed input trees.
Original languageEnglish
Pages (from-to)456-474
Number of pages19
JournalInformation Systems
Issue number4-5
Publication statusPublished - 2008


Dive into the research topics of 'Efficient memory representation of XML document trees'. Together they form a unique fingerprint.

Cite this