Consolidated monorepo of the document models and grammars for the Metanorma
standoc document family — Basicdoc, Standoc, and every flavour — per
metanorma-core#16.
This repository replaced the former per-flavour metanorma-model-*
repositories; their commit histories are preserved here.
grammars/-
The shared RNC/RNG grammar hub (formerly
metanorma-model-iso). The shared-layer grammars are named after their layer —standoc.rnc,standoc-presentation.rnc— with per-flavour grammars alongside. It aggregates external bibliographic and base models as git submodules. <flavour>/-
Per-flavour information models (LutaML) and documentation, one directory per former
metanorma-model-<flavour>repository:bipm,bsi,cc,csa,gb,ieee,iho,iso,itu,m3aawg,mpfa,nist,ogc,ribose,standoc,un.
Two modes (grammars/make.sh):
-
./make.sh— refresh mode: updates submodules to their remotes (--remote), writesversions.json, builds all grammars with trang, runs the validation suite, and vendors to sibling gem checkouts viacopy.shwhen present. -
GRAMMARS_PINNED=1 ./make.sh— deterministic mode: builds strictly from the checked-out submodule pins, no network operations. This is what CI uses.
CI enforces a regeneration parity gate: the committed .rng
artifacts must be byte-identical to regeneration output from the pinned
sources. Hand-edits to generated artifacts, or source changes committed
without regenerating, fail the build.
Flavour gems vendor the compiled RNG (grammars/copy.sh, run from a
workspace with gem checkouts as siblings). Vendored copies keep their
legacy isodoc*.rng filenames because gem code loads those paths; the
bridge retires with generated-schema loading (issue #181).
-
Grammar work: PRs against
grammars/here. Grammar issues live in this repository’s tracker (open issues from the formermetanorma-model-isoand flavour model repositories were transferred here at consolidation). -
Model-driven architecture (LML as single source of truth, generated schemas and classes, retiring hand-maintained RNC and Trang/Jing): see issue #181 — the follow-on programme to this consolidation.
The semx/fmt Presentation XML contract is documented in
grammars/README.adoc.