Project
  News and Status
  Mission
  JavaDoc
  FAQ
  Quotes

Downloads
  Binaries
  Source
  Documentation

Get Involved
  Overview
  Mailing Lists
  Search JDOM Lists

Credits
  Who We Are
  Acknowledgements

 

"Build a better mousetrap, and the world will
beat a path to your door."
--Emerson

Our Mission? To provide a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code. Read more about our project goals.
Project Status? JDOM 2.0.6 is available! This is a recommended upgrade for anyone still using JDOM 1.1.3 or earlier, and using Java5 or later. JDOM 2.0.6 contains a few fixes:
  • Fixes Issue 120 - Incorrect cloning of JaxenCompile ending up with variables shared between clones.
  • Fixes Issue 127 - When Outputting content, getting a PrettyFormat Format, then setting it to "Preserve" does not preserve properly
  • Fixes Issue 126 - While namespaces prefixes like "Xml" are discouraged, they are actually allowed (except "xml" and "xmlns" - case specific).
  • Fixes Issue 128 - Third party Security audit revealed a few places which were vulnerable.
  • Fixes Issue 129 - Java 8 introduces public sort method on List interface. This conflicts with protected sort on ContentList
  • Fixes Issue 131 - JavaDoc fix
  • Fixes Issue 134 - Upgrade Xalan to 2.7.2
  • Fixes Issue 143 - Maven third party dependency versions
  • Fixes Issue 136 - XMLReaders enum initializes all three members on first use (Non-validating, DTD, and XSD). This can be slow when not needed.
  • Fixes Issue 138 - Non-Namespace Aware DOM constructs get Parsed OK by JDOM 1.x but fail on JDOM 2.x. Make JDOM 2.x look harder for undeclared prefixes.

Get JDOM Here!

JDOM 2.x versions are a significant reworking of the JDOM API to enhance it with Generics, and other Java Language features introduced with Java 5. JDOM 2.x is fully supported for use with Java 6 or Java 7, and is also compatible with Java 5 with a few restrictions. See the full Statement on Supported Versions and Dependencies

To facilitate the deployment of JDOM 2.x, the entire JDOM package has been renamed. If you are migrating to JDOM 2.x from previous JDOM versions you will need to change your package imports from org.jdom.* to org.jdom2.*

A full JDOM 1.x to JDOM 2.x migration guide is available.

JDOM 1.x versions are operating in maintenance mode only and only bug fixes will be considered for future 1.x releases. The only reason to continue using JDOM 1.x is for compatibility with older Java versions (back to Java 1.2).

New features are being considered for JDOM2 though. If you want to be involved, or have suggestions or questions, please write in to the mailing list and check out the GitHub Repository.

Get JDOM Here!

The Latest?

Mission accomplished. We've succeeded in our mission with an API that's been through years of design and development and a codebase that is rock solid.

What about JSR-102? That's a good question. It hasn't been a priority for us. We seem to be doing pretty well on our own, it turns out.

If you are wondering what Jason has been doing lately, he's working on MarkMail. It's a searchable email archive system. You can try searching the JDOM lists at jdom.markmail.org.

What's Next?

JDOM 2.0.x versions are out, and work is starting on identifying what new features can be added to a future 2.1.x release series. If you have comments, questions, or suggestions for something that is, or should be, in a 2.1.x release, please write in to jdom-interest. Current features being considered are improved XPath support (XPath 2.0) and updated XSLT processing, and also an extended StAX Handling API.