XOM is a new XML object model. It is a tree-based API for processing XML with Java that simultaneously supports streaming. In many use-cases, XOM can process arbitrarily large documents with effectively constant memory sizes. XOM strives for correctness, simplicity, and performance, in that order. XOM is not complete unto itself. It depends on an underlying SAX parser to read documents and feed the data into the tree structure.