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.
This project was built with NetBeans 26, Gradle 8.12, and Oracle JDK 21.
Try ./gradlew build
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
In addition to this GitHub repository, this project also makes use of other assets.
- The NIEMOpen website is at www.niemopen.org. The website contains news, announcements, and other information of interest about the project.
- The General purpose mailing list. To subscribe, send an empty email message to niemopen+subscribe@lists.oasis-open-projects.org. Anyone interested is welcome to subscribe and send email to the list. The list maintains an archive.
- The Project Governing Board mailing list. This is the discussion list for use by the members of the PGB. To subscribe, send an empty email message to niemopen-pgb+subscribe@lists.oasis-open-projects.org. Anyone interested is welcome to subscribe read-only. Only PGB members can post. The list maintains an archive.
- NBAC Technical Steering Committee mailing list. This is the discussion list for use by the members of the NIEM Business Architecture Committee TSC. To subscribe, send an empty email message to niemopen-nbactsc+subscribe@lists.oasis-open-projects.org. Anyone interested is welcome to subscribe read-only. The list maintains an archive.
- NTAC Technical Steering Committee mailing list. This is the discussion list for use by the members of the NIEM Technical Architecture Committee TSC. To subscribe, send an empty email message to niemopen-ntactsc+subscribe@lists.oasis-open-projects.org. Anyone interested is welcome to subscribe read-only. The list maintains an archive.
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.
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.
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.
