Refs metanorma/metanorma#585
Child of the MathML 3 → 4 migration: swap the vendored grammar at the source of truth.
Scope
- Vendor the W3C MathML 4 RelaxNG Compact grammar (https://www.w3.org/Math/RelaxNG/mathml4/ —
mathml4.rnc, mathml4-presentation.rnc, mathml4-content.rnc, mathml4-strict-content.rnc; generated from https://github.com/w3c/mathml-schema) into grammars/mathml/, replacing mathml3*.rnc. Pin to a dated draft snapshot and record provenance (source URL, retrieval date, licence, spec status) in grammars/mathml/README.adoc — MathML 4 is a Working Draft nearing CR; re-sync at CR and at REC.
- Rework the wrapper
grammars/mathml/metanorma-mathml.rnc: include "mathml4.rnc"; re-apply the data-metanorma-numberformat augmentation on mn; re-apply the foreign-markup bans (annotation-xml &= notAllowed, anyElement &= notAllowed) — re-audit both against MathML 4's restructured content/annotation model; the combine-form encoding exists for libxml2 compatibility and must be preserved.
- Update
basicdoc.rnc:1074 external reference if filenames change; update the README statement that "v4 is not yet officially published".
- Confirm jing/libxml2 compatibility of the compiled grammar, including whether the
xsd:ID collision that currently forces id_check: false in metanorma-standoc (schema.rb) behaves the same under the v4 grammar.
Non-goals
- No dual-version validation: the schema validates exactly one MathML model (MathML 4 full — not MathML Core, which drops Content MathML).
- No v3→v4 ingestion transform here (design position recorded on the umbrella).
Downstream compile/propagation is metanorma/metanorma-standoc#1212.
🤖
Refs metanorma/metanorma#585
Child of the MathML 3 → 4 migration: swap the vendored grammar at the source of truth.
Scope
mathml4.rnc,mathml4-presentation.rnc,mathml4-content.rnc,mathml4-strict-content.rnc; generated from https://github.com/w3c/mathml-schema) intogrammars/mathml/, replacingmathml3*.rnc. Pin to a dated draft snapshot and record provenance (source URL, retrieval date, licence, spec status) ingrammars/mathml/README.adoc— MathML 4 is a Working Draft nearing CR; re-sync at CR and at REC.grammars/mathml/metanorma-mathml.rnc:include "mathml4.rnc"; re-apply thedata-metanorma-numberformataugmentation onmn; re-apply the foreign-markup bans (annotation-xml &= notAllowed,anyElement &= notAllowed) — re-audit both against MathML 4's restructured content/annotation model; the combine-form encoding exists for libxml2 compatibility and must be preserved.basicdoc.rnc:1074external reference if filenames change; update the README statement that "v4 is not yet officially published".xsd:IDcollision that currently forcesid_check: falsein metanorma-standoc (schema.rb) behaves the same under the v4 grammar.Non-goals
Downstream compile/propagation is metanorma/metanorma-standoc#1212.
🤖