dom4j - XML Object Model Comparisons

##### dom4j

- Home
- FAQ
- Quick start
- Cookbook
- Comparison
- Goals
- Changes
- Download
- License
- Javadoc (1.6.1)
- Javadoc (1.5.2)
- Javadoc (1.4)

##### Project Documentation

- About dom4j
- Project Info
- Project Reports
- Development Process

##### Legend

- External Link
- Opens in a new window

## Comparison

This page attempts to survey the landscape of available XML object models and compare and contrast their features. The information in this table is correct to the best of our knowledge and we will try and keep this information as up to date as possible. If you think there's anything wrong, please let us know here.

Feature | WC3 DOM | DOM4J 1.5 | JDOM 1.0 | XOM 1.O
--- | --- | --- | --- | ---
Open Source | Yes | Yes | Yes | Yes
Based on Java Interfaces | Yes | Yes | No | No
Supports Java 2 Collections | No | Yes | Yes | No
Can use any SAX parser and XMLFilter | Yes (usually) | Yes | Yes | Yes
Convert to and from DOM trees | Yes | Yes | Yes | Yes
Implements DOM interfaces | Yes | Yes (optional) | No | No
Integrated XPath API support | No | Yes | No | No
Bundled XPath implementation | No | Yes | Optional | No
Support for JAXP/TrAX for XSLT integration | Yes | Yes | Yes | Yes
Capable of processing a continuous XML streams | Don't know | Yes | No | Yes
Capable of processing massive documents | Don't know | Yes | No | Yes
XML Schema Data Type support | No | Yes | No | Don't know
XInclude support | Don't know | No | No | Yes
Canonical XML support | Don't know | No | No | Yes

## Performance

Dennis Sosnoski has published an interesting article on IBM's developerWorks which compares the performance of a variety of XML document models for the Java platform including dom4j. You can find the very interesting results here.

Also you might find these new Performance Benchmarks interesting comparing dom4j and Jaxen against Xerces and Xalan.