<?xml version="1.0" encoding="ISO-8859-1"?>
<document>

  <properties>
    <title>XML Object Model Comparisons</title>
    <author email="jstrachan@apache.org">James Strachan</author>
 </properties>
 
  <body>
    
    <section name="Comparison">
      <p>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 
        <a href="mailto:dom4j-dev@lists.sourceforge.net">here</a>.
      </p>

      <table width="100%">
        <tr>
            <th align="left">Feature</th>
            <th align="left"><a href="http://www.w3.org/DOM/">WC3 DOM</a></th>
            <th align="left"><a href="http://www.dom4j.org"><i>DOM4J 1.5</i></a></th>
            <th align="left"><a href="http://www.jdom.org">JDOM 1.0</a></th>
            <th align="left"><a href="http://www.cafeconleche.org/XOM/">XOM 1.O</a></th>
        </tr>
        <tr>
            <td>Open Source</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Based on Java Interfaces</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>No</td>
            <td>No</td>
        </tr>
        <tr>
            <td>Supports Java 2 Collections</td>
            <td>No</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>No</td>
        </tr>
        <tr>
            <td>Can use any SAX parser and XMLFilter</td>
            <td>Yes (usually)</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Convert to and from DOM trees</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Implements DOM interfaces</td>
            <td>Yes</td>
            <td>Yes (optional)</td>
            <td>No</td>
            <td>No</td>
        </tr>
        <tr>
            <td>Integrated XPath API support</td>
            <td>No</td>
            <td>Yes</td>
            <td>No</td>
            <td>No</td>
        </tr>
        <tr>
            <td>Bundled XPath implementation</td>
            <td>No</td>
            <td>Yes</td>
            <td>Optional</td>
            <td>No</td>
        </tr>
        <tr>
            <td>Support for JAXP/TrAX for XSLT integration</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Capable of processing a continuous XML streams</td>
            <td>Don't know</td>
            <td>Yes</td>
            <td>No</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Capable of processing massive documents</td>
            <td>Don't know</td>
            <td>Yes</td>
            <td>No</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>XML Schema Data Type support</td>
            <td>No</td>
            <td>Yes</td>
            <td>No</td>
            <td>Don't know</td>
        </tr>
        <tr>
            <td>XInclude support</td>
            <td>Don't know</td>
            <td>No</td>
            <td>No</td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Canonical XML support</td>
            <td>Don't know</td>
            <td>No</td>
            <td>No</td>
            <td>Yes</td>
        </tr>
      </table>

    </section>

    <section name="Performance">
      <p>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 
        <a href="http://www-106.ibm.com/developerworks/xml/library/x-injava/index.html">here</a>.
      </p>
      <p>
        Also you might find these new <a href="benchmarks/xpath/index.html">Performance Benchmarks</a> 
        interesting comparing dom4j and Jaxen against Xerces and Xalan. 
      </p>
    </section>

  </body>
</document>









