This open-source, Metaschema Java framework offers a set of Java libraries providing a programatic means to work with models defined by the Metaschema modeling language. This framework also supports programatically creating, modifying, parsing, and writing XML, JSON, and YAML instance data that conforms to a given Metaschema model. This work is intended to make it easier for Java software developers to incorporate Metaschema-based capabilities into their applications.
This effort is part of the National Institute of Standards and Technology (NIST) OSCAL Program.
The Metaschema Java framework provides:
- Java objects for loading and working with XML-based Metaschema constructs. This functionality is provided by the Metaschema XML model.
- Java bean code generation based on one or more Metaschema using Maven. This functionality is provided by the Metaschema Maven plugin.
- A Java parser for reading and writing XML, JSON, or YAML into Java beans generated by this framework. This functionality is provided by the Metaschema Java Binding Parser.
- XML and JSON schema generation based on a Metaschema provided by Netaschema Schema Generator.
Thank you for interest in contributing to the Metaschema Java framework. For complete instructions on how to contribute code, please read through our CONTRIBUTING.md documentation.
This project is in the worldwide public domain. As stated in CONTRIBUTING.md.
This project's modules are published to Maven Central.
You can include these artifacts in your Maven POM as a dependency.
This project can be built with Apache Maven version 3.8.4 or greater.
The following instructions can be used to clone and build this project.
- Clone the GitHub repository.
git clone --recurse-submodules https://github.com/usnistgov/metaschema-java.git
- Build the project with Maven
mvn install
Maintainer: David Waltermire - @david-waltermire-nist, NIST Information Technology Labratory, Computer Security Division, Security Components and Mechanisms Group
Email us: oscal@nist.gov
Chat with us: Gitter OSCAL/metaschema