Mathematical Markup Language (MathML) Version 4.0 (original) (raw)

Using the RelaxNG Schema for MathML

MathML documents should be validated using the RelaxNG Schema for MathML, either in the XML encoding (http://www.w3.org/Math/RelaxNG/mathml4/mathml4.rng) or in compact notation (https://www.w3.org/Math/RelaxNG/mathml4/mathml4.rnc) which is also shown below.

In contrast to DTDs there is no in-document method to associate a RelaxNG schema with a document.

MathML Core

MathML Core is specified in [[[MathML-Core]]] however the Schema is developed alongside the schema for MathML 4 and presented here, it can also be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4-core.rnc.

Presentation MathML

The grammar for Presentation MathML 4 builds on the grammar for the MathML Core, and can be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4-presentation.rnc.

Strict Content MathML

The grammar for Strict Content MathML 4 can be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4-strict-content.rnc.

Content MathML

The grammar for Content MathML 4 builds on the grammar for the Strict Content MathML subset, and can be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4-content.rnc.

Full MathML

The grammar for full MathML 4 is simply a merger of the above grammars, and can be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4.rnc.

Legacy MathML

Some elements and attributes that were deprecated in MathML 3 are removed from MathML 4. This schema extends the full MathML 4 schema, adding these constructs back, allowing validation of existing MathML documents. It can be found at https://www.w3.org/Math/RelaxNG/mathml4/mathml4-legacy.rnc.