: Statistics about the DDMSence codebase can now be viewed at Ohloh
: Development on v2.2.0 (supporting DDMS 5.0) is complete! It will be available once the associated IC specifications
have been cleared for Public Release.
04/01/2013: Happy Birthday to DDMSence, celebrating 24 releases in 3 years!
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.
New Release Feed:
SVN Code Feed:
Issue Tracker Feed:
DDMSence (pronounced "dee-dee-em-Essence") is an open-source Java API which supports the
DoD Discovery Metadata Specification (DDMS).
It transforms XML DDMS Resources (metacards) into a Java object model (using XOM and Xerces), 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 DDMS 2.0, 3.0, 3.1, 4.0.1, or 4.1.
- 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 metacards 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 being 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.