released, adding support for DDMS 5.0.
: Statistics about the DDMSence codebase can now be viewed at Ohloh
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.
07/05/2011: v1.10.0 released, adding support for DDMS 3.1.
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/16/2010: v1.7.1 released.
09/18/2010: v1.7.0 released.
09/07/2010: v1.6.0 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.
New Release Feed:
SVN Code Feed:
Issue Tracker Feed:
DDMSence (pronounced "dee-dee-em-Essence") is the only open-source Java library that fully supports the
DoD Discovery Metadata Specification (DDMS).
It converts XML 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 (including the Extensible Layer) using any version of DDMS between 2.0 and 5.0.
- Java object model can be created from existing XML files, or built up from scratch with basic Java data types. Components automatically transform into valid, well-formed XML, HTML, and Text records.
- Validates assertions against the complete specification, not just the 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.
Suggested Use Cases
- Reading existing DDMS metacards, possibly as part of a query or search service
- Creating new DDMS metacards from scratch, possibly as part of a web-based wizard
- Editing existing DDMS metacards
- Transforming older DDMS metacards to the latest version of DDMS
- Applying custom Community of Interest (COI) constraints to a DDMS metacard with Schematron
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, UCore, the
Data Services Environment, ESM and SKIWeb) 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.