This open-source, Metaschema Java framework offers a set of Java libraries providing a programmatic means to work with models defined by the Metaschema modeling language. This framework also supports programmatically 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.
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.
See the project license in this repository.
This project is in the worldwide public domain and as stated in CONTRIBUTING.md.
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'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.9.0 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/metaschema-framework/metaschema-java.git
- Build the project with Maven
mvn install
The contents of this repository is based on work from the Metaschema Java repository maintained by the National Institute of Standards and Technology (NIST), the contents of which have been dedicated in the worldwide public domain using the CC0 1.0 Universal public domain dedication. This repository builds on this prior work, maintaining the CCO license on any new works in this repository.