Skip to content

CMFTool is a command-line tool for the developers of NIEM-conforming data exchange specifications using the NIEM Common Model Format (CMF).

License

Notifications You must be signed in to change notification settings

niemopen/cmftool

Repository files navigation

Common Model Format Tool (CMFTool)

This repository is part of the OASIS Open Project named NIEMOpen. NIEMOpen is a community-driven, standards-based approach to defining information exchange packages for multiple business domains.

The NIEM Common Model Format (CMF) is a data modeling formalism for NIEM-conforming data exchange specifications.

This repository contains the NIEMOpen Common Model Format Tool (CMF) software project. CMFTool provides command-line applications to support message developers and designers working with NIEM models in XSD and CMF format. It provides software libraries for other tool developers wishing to work with CMF

There are five subprojects in this repository:

  • app-cmftool is a Java application project for cmftool, a command-line tool for transforming NIEM XSD into CMF, and vice versa. cmftool can also generate useful artifacts for message developers; for example, message schemas in XSD and JSON Schema to validate XML and JSON messages.

  • app-niemtran is a Java application project for niemtran, a command-line tool for converting NIEM messages from one format to another; for example, converting a NIEM XML message into the equivalent NIEM JSON message.

  • app-scheval is a Java application project for scheval, a command-line tool for compiling and evaluating Schematron rules. It has special features required for evaluating NIEM naming and design rules written in Schematron.

  • lib-cmf is a Java library project providing classes for working with NIEM models in XSD and CMF. Both cmftool and niemtran depend on lib-cmf. Other tool developers may find useful functionality here.

  • lib-util is a Java library project providing classes that are used in all subprojects, and which may be useful in other projects.

Building CMFTool

This project was built with NetBeans 26, Gradle 8.12, and Oracle JDK 21.
Try ./gradlew build

About NIEMOpen

For more information on NIEMOpen, see the project's website at www.niemopen.org.

General questions about OASIS Open Projects may be directed to OASIS staff at project-admin@lists.oasis-open-projects.org

Other assets

In addition to this GitHub repository, this project also makes use of other assets.

Contributing

Please read CONTRIBUTING.md for details how to join the NIEMOpen project, contribute changes to our repositories and communicate with the rest of the project contributors. Please become familiar with and follow the code of conduct.

Governance

NIEMOpen operates under the terms of the Open Project Rules and the applicable license(s) specified in LICENSE.md. Further details can be found in GOVERNANCE.md, GOVERNANCE-NBAC.md, and GOVERNANCE-NTAC.md.

CLA & Non-assert signatures required

All technical contributions must be covered by a Contributor's License Agreement. This requirement allows our work to advance through OASIS standards development stages and potentially be submitted to de jure organizations such as ISO. You will get a prompt to sign this document when you submit your first pull request to a project repository, or you can sign here. If you are contributing on behalf of your employer, you must also sign the ECLA here.

About

CMFTool is a command-line tool for the developers of NIEM-conforming data exchange specifications using the NIEM Common Model Format (CMF).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors