Recent News

01/01/2015: v2.5.0 released, adding multithreaded support.
11/20/2014: v2.4.0 released.
05/30/2014: v2.3.0 released.
05/13/2014: v2.2.1 released.
12/15/2013: v2.2.0 released, adding support for DDMS 5.0.
04/10/2013: Statistics about the DDMSence codebase can now be viewed at OpenHUB.
04/01/2013: Happy Birthday to DDMSence, celebrating 24 releases in 3 years!
01/19/2013: v2.1.0 released, adding support for DDMS 4.1.
12/01/2011: v2.0.0 released, adding support for DDMS 4.0.1.
10/20/2011: I gave a briefing on DDMSence at the DoD Metadata Working Group Meeting in Columbia, MD.
07/17/2011: v1.11.0 released, adding support for XSLT2-based Schematron validation.
07/05/2011: v1.10.0 released, adding support for DDMS 3.1.
06/06/2011: Schematron Implementation for DDMS published.
06/02/2011: v1.9.1 released. Example code for DDMS Validator and DDMS Builder posted.
05/24/2011: v1.9.0 released.
05/13/2011: v1.8.0 released, introducing the Component Builder framework.
03/10/2011: v1.7.2 released.
11/26/2010: Relational Database Model for DDMS published.
11/16/2010: v1.7.1 released.
09/18/2010: v1.7.0 released.
09/07/2010: v1.6.0 released.
09/01/2010: DDMS validator released.
07/07/2010: v1.5.1 released.
07/05/2010: v1.5.0 released.
06/08/2010: v1.4.0 released.
05/14/2010: v1.3.2 released.
05/11/2010: Added table of supported XSLT Engines to Schematron Validation Power Tip.
05/09/2010: v1.3.1 released.
05/07/2010: v1.3.0 released.
04/24/2010: v1.2.1 released.
04/21/2010: v1.2.0 released.
04/08/2010: v1.1.0 released.
04/01/2010: v1.0.0 released.
03/29/2010: v0.9.d released.
03/25/2010: v0.9.c released.
03/24/2010: v0.9.b released.

SVN Code Feed:
Issue Tracker Feed:

DDMSence v2.5.0

DDMSence (pronounced "dee-dee-em-Essence") is the only open-source Java library that fully supports the DoD Discovery Metadata Specification (DDMS). It converts DDMS Resources (also called assertions or metacards) into a Java object model, allowing them to be manipulated or traversed within the context of a Java environment.

  • Provides a complete implementation of the DDMS specification using any version of DDMS between 2.0 and 5.0, suitable for several use cases.

  • Java object model can be created from existing XML files, or built up from scratch with basic Java data types. Components automatically transform into well-formed XML, HTML, JSON, and Text output.

  • Validates assertions against the complete specification, not just the XML schemas. Integrated with the Controlled Vocabulary Enumerations for ISM attributes, as defined by the Intelligence Community, and supports Schematron-based custom validation rules.

  • Three sample applications and accompanying tutorials provide an introduction to the library, and Power Tips are available for more experienced users.

DDMSence comes with a complete set of JUnit tests, and is released under the GNU Lesser General Public License (LGPL).

About the Author

Brian Uri! is a Technical Lead at Novetta Solutions in Reston, Virginia. He has been involved with DISA's enterprise services and data strategy efforts (including DDMS, Universal Core, the Data Services Environment, Enterprise Service Monitoring, and Strategic Knowledge Integration Web) since the inception of the Net-Centric Enterprise Services (NCES) program in 2005.

DDMSence was conceived in January 2010 and grew out of Brian's desire to gain more practical XML Schema experience, to write something useful which had never been done before, and an unusually large amount of free time. Statistics about the DDMSence codebase can be viewed at OpenHUB.