Skip to content

niemopen/niem-naming-design-rules

Repository files navigation

Naming and Design Rules

This repository is part of the NIEM Open Project.

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 [email protected]

Status

NDR 6.0 is a complete rewrite of the previous NDR 5.0. The current draft is proposed as Project Specification Draft 01.

Please post comments on NDR 6.0 PSD01 on the issues page.

Generating NDR6

  • NDR 6.0 is written in Markdown. The source file edited by people is ndr6src.md.
  • The markdown version of NDR6 is generated via Perl scripts, which
    • Transforms defined terms in the text into dot-links (for example, ·message type·) pointing to definitions in the Glossary
    • Transforms references into links to Appendix A (References)
    • Generates an index of figures and rules
    • Generates a cross reference of NDR5 rules to NDR6 rules
  • HTML is generated from the intermediate Markdown with pandoc 3.0
  • PDF is generated by hand from the HTML by printing from Microsoft Edge
  • Build automation is controlled by a Makefile.

What's in this directory

  • bin – scripts to generate files in this directory

    • genruleMatrix – Perl script to create ruleMatrix.md from NDR5+
    • fixmd – Perl script to generate intermediate Markdown with definition links from the source
    • makesch – Perl script to create schematron files from NDR5+
    • reindex – Perl script to update rule numbers in the Markdown source
  • doc – background documentation

    • cmf-to-JsonSchema – converting a CMF model into JSON Schema to validate NIEM JSON messages
    • confTargetsConformance Targets in NIEM 6.0 – summary of differences between reference, extension, subset, and message schema documents
    • NIEM6-XNDR – list of NDR 5 XSD rules in order; state applicable NIEM 6 XSD conformance targets
    • ruleMatrix – list NDR 5 XSD rules, grouped by applicable NIEM 6 XSD conformance targets
  • examples – the crash-driver message specification

  • images – directory of PNG files used as images in NDR6

  • old – NDR5 stuff

  • niem5ndr.md – NDR 5 converted to markdown, with edits to XSD rules

  • pptx – originals of images created with Powerpoint

  • sch – Schematron for XSD rules in NDR 6

  • styles – CSS files used to generate OASIS HTML from Markdown

  • uxf – originals of UML diagrams in NDR6

Other assets

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

Contributing

Please read CONTRIBUTING.md for details how to join the 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

NIEM Open 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.

<style> a.termRef { text-decoration: none; color: #000; background-color: #FFF; } a.termRef[href]:hover { color: #000; background-color: #F9FAD4; } </style>