Metanorma is dedicated to harmonizing standard documents produced by different standard-setting bodies in a manner that maintains correct semantics while allowing each standard publisher to define appropriate semantic extensions.
Simply put, it allows standards bodies or any other organization to create their own standard or specification document in a best practices manner.
Metanorma is composed of a number of specifications and software implementations. The Metanorma document model is based on the SecureDoc document model.
Metanorma includes the following sub-projects:
-
IETF Internet-Drafts and RFCs: the AsciiRFC syntax, the asciidoctor-rfc RFC XML v2 and v3 implementations
-
ISO Standards: the AsciiISO syntax, the IsoDoc Models, the asciidoctor-iso IsoDoc implementation
-
CalConnect Standard Documents (CSD): the AsciiCSD syntax, CSD Models, the asciidoctor-csd implementation
-
Chinese GuoBiao (GB) Standards: the AsciiGB syntax, GbDoc Models, the asciidoctor-gb implementation
-
Cloud Security Alliance Normal Documents (CSAND): the AsciiCSAND syntax, CSAND Models, the asciidoctor-csand implementation
Installation
The Metanorma workflow can be utilized via the metanorma
Ruby gem.
gem install metanorma
Usage
Help command:
$ metanorma -h
Usage: metanorma [options] <file>
-t, --type TYPE Type of standard to generate: rfc2, rfc3, iso, gb, csd
-f, --format FORMAT Format of source file: asciidoc (current default, only format supported)
-r, --require LIBRARY Require LIBRARY prior to execution
-h, --help Show this message
Basically it is used like this:
metanorma --type <chosen-type> [--format input-format] iso-my-standard-document.adoc
Options:
type
-
(mandatory, specified via
--type
or-t
) takes one of the following types:rfc2
,rfc3
,iso
,gb
,csd
,csand
format
-
(specified via
--format
or-f
) only acceptsasciidoc
for now
As the --format
argument is (currently) optional, so:
metanorma --type iso iso-my-standard-document.adoc
Origin of name
Meta- is a prefix of Greek origin ("μετα") for “with” or simply “of”, and norma is Latin for “rule” and “standard”. The Metanorma project is for setting a standard for standard documents created by standards-setting organizations, and therefore is given this rather fitting name.