Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/usnistgov/metaschema-java

Java tools and libraries providing a Metaschema toolchain
https://github.com/usnistgov/metaschema-java

code-generation data-binding java json maven maven-plugin metaschema modeling parser-library xml yaml

Last synced: 26 days ago
JSON representation

Java tools and libraries providing a Metaschema toolchain

Awesome Lists containing this project

README

        

# Metaschema Java Tools and Libraries

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](https://github.com/usnistgov/metaschema). 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 is an effort by the National Institute of Standards and Technology (NIST) Metaschema Project.

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](metaschema-model/).
- Java bean code generation based on one or more Metaschema using Maven. This functionality is provided by the [Metaschema Maven plugin](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](metaschema-java-binding/).
- XML and JSON schema generation based on a Metaschema provided by [Netaschema Schema Generator](metaschema-schema-generator/).

## License

See the [project license](LICENSE.md) in this repository.

This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING.md](CONTRIBUTING.md).

## Contributing to this code base

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](CONTRIBUTING.md) documentation.

## Using as a Maven dependency

This project's modules are published to [Maven Central](https://search.maven.org/search?q=g:gov.nist.secauto.metaschema).

You can include these artifacts in your Maven POM as a dependency.

## Building

This project can be built with [Apache Maven](https://maven.apache.org/) version 3.9.0 or greater.

The following instructions can be used to clone and build this project.

1. Clone the GitHub repository.

```bash
git clone --recurse-submodules https://github.com/usnistgov/metaschema-java.git
```

2. Build the project with Maven

```bash
mvn install
```

## Contact us

Maintainer: [David Waltermire](https://www.nist.gov/people/david-waltermire) - [@david-waltermire-nist](https://github.com/david-waltermire-nist), [NIST](https://www.nist.gov/) [Information Technology Labratory](https://www.nist.gov/itl), [Computer Security Division](https://www.nist.gov/itl/csd), [Security Components and Mechanisms Group](https://www.nist.gov/itl/csd/security-components-and-mechanisms)

Email us: [[email protected]](mailto:[email protected])

Chat with us: [Gitter OSCAL/metaschema](https://gitter.im/usnistgov-OSCAL/metaschema)