XOM is an XML object model. It is a tree-based API for processing XML with Java that simultaneously supports streaming. In many use-cases, it can process arbitrarily large documents with effectively constant memory sizes. It strives for correctness, simplicity, and performance, in that order. XOM supports XSLT, Canonical XML, and XInclude.
| Tags | Software Development Libraries Java Libraries Text Processing Markup XML XSL/XSLT |
|---|---|
| Licenses | LGPL |
Recent releases


Release Notes: Query strings in canonical URLs are no longer doubled. XPath text, document, comment, and processing instruction nodes are now correctly converted to numbers when used with relational operators.


Release Notes: A Maven 2 build target was added. Builder.build((Reader) null) now throws a NullPointerException instead of a confusing MalformedURLException.


Release Notes: The latest Unicode normalization tables are used. A lookup method was added in XPathContext, which finds the namespace URI for a prefix. xml:id attributes are no longer checked for NCNames. Xerces was upgraded to 2.8.0, DTD-only version. DOMConverter can accept a NodeFactory to be used in creating the XOM document. Various bugs were fixed, especially in canonicalization and XPath, and one that could cause toXML to generate malformed output when a namespace URI contained an ampersand. The version number is correctly reported by java -jar.


Release Notes: New features implemented include node factories for DOMConverter and a lookup method in XPathContext. In addition, some obscure bugs have been fixed.


Release Notes: This release adds XPath, exclusive XML Canonicalization, Document Subset Canonicalization, a setInternalDTDSubset method in DocType, xml:id support, and externally supplied XSL parameters. It ranges from two to four times faster than version 1.0 for many common operations.