Recent News

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.
New Release Feed:
SVN Code Feed:
Issue Tracker Feed:

DDMSence v1.6.0

DDMSence (pronounced "dee-dee-em-Essence") is an open source Java API which supports the DoD Discovery Metadata Specification (DDMS). It can transform XML DDMS Resource records into a Java object model (using XOM and Xerces), allowing them to be manipulated or traversed within the context of a Java environment. DDMSence also performs logical validation of rules which are not coded into the DDMS schema (such as the validation of longitude/latitude values).

  • Provides a complete implementation of all five Layers in the DDMS specification (including the Extensible Layer) using either DDMS 2.0 or 3.0.
  • Java object model can be created from existing XML files, or built up from scratch with basic Java data types. Components can automatically transform into valid, well-formed XML, HTML, and Text records, according to the DDMS specification.
  • Adds an additional level of validation to all components, including the Controlled Vocabulary Enumerations for ICISM security attributes, as defined by the Intelligence Community. Custom validation rules can also be defined with ISO Schematron.
  • Three sample applications and accompanying tutorials provide an introduction to the library, and Power Tips are available for more experienced users.

Components created with this library maintain an underlying XOM element structure, which provides latent avenues for future improvement, based on XOM's support of XPath, XInclude, and XSLT. However, you do not need to have any experience with XOM to get started with this library.

DDMSence comes with a complete set of JUnit tests, and code coverage was aided by EclEmma. It is being released under the GNU Lesser General Public License (LGPL).

About the Author

Brian Uri! is a software engineer at FGM, Inc. in Reston, Virginia. He has been a member of the DoD Metadata Registry development team since 2004, and a technical lead on the project since 2006. DDMSence grew out of the author'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.