Errata for MathML3

Errata for MathML 3 Second Edition

The following issues have been raised against the Second Edition of MathML3, they are adressed in the Editors' Draft.

Chapter 2


"percentage of the default value" should be "percentage of the reference value".

Chapter 3

3.4.7 Prescripts and Tensor Indices

The description of the indices stated that they should be “vertically-aligned” but did not specify the horizontal alignment. The text should be clarified to state that the alignment should be towards the base, that is, prescripts are right aligned in pairs, and postscripts are left aligned in pairs. An example has been added to to make this clear.


The default of groupalign: left should be {left}. (Problem with PDF version only)


The mtable default value: left should be {left}. (Problem with PDF version only)

Errata for MathML 3 First Edition

The following issues were raised against the First Edition of MathML3, they were adressed in the Second Edition.

Chapter 2 Length Valued Attributes

The specification defined unitless and percentage values for length attributes as representing a multiple or percentage of the default value for the attribute. This was changed to make such values represent a multiple or percentage of a reference value, where the reference value is usually, but not always, the default value. See the (Errata for) Dictionary-based attributes for the rationale for this change.

Chapter 3 Dictionary-based attributes

The descriptions of the minsize and maxsize attributes of mo elements now specifies a reference value for these attributes which is the unstretched glyph size. With the change (Errata for) Length Valued Attributes, this means that unitless or percentage values for these attributes represent a multiple of the unstretched glyph size. This recovers compatibility with MathML2 (and is, of course, more useful given that the defaults for minsize and maxsize are 0 and infinity, respectively). Indentation attributes

The indenttarget attribute does not say what should happen in situations where the target id is not a sensible alignment point. An example of such a situation is when the mo with indenttarget is in one column of an mtable and the id it references is in another column.

The description of indenttarget should be amended to say:

Specifies the id of another element whose horizontal position determines the position of indented lines when indentalign="id". Note that the identified element may be outside of the current math element, allowing for inter-expression alignment, or may be within invisible content such as mphantom; it must appear before being referenced, however. This may lead to an id being unavailable to a given renderer; in such cases, the indentalign should revert to "auto". It may also lead to an id being in a nonsensical position that does not allow for alignment; the indentalign should revert to "auto" in such cases. mstyle Description

The description has been changed to use mathsize rather than mathcolor as an example of an attribute only allowed on token elements or mstyle, as mathcolor is allowed on additional elements in MathML3. menclose Attributes

There was an erroneous reference to malign in the description of setting long division. This has been changed to maligngroup. (Such an example using maligngroup appeared in the MathML2 specification, but has been dropped from this specification in favor of mcolumn.) mtable Attributes

The table lists displaystyle as inherited which was an unintended change from MathML2. The default value of displaystyle in mtable should be false.

Appendix A

Using the MathML XML Schema

The non normative XSD schema is derived from the Relax NG, but unfortunately an error in the translation caused cs, cbytes, cerror and share to be omitted from the content model of apply and related constructs. (Reported by Fraser Goffin on www-math.)

diff -r1.8 mathml3-strict-content.xsd
>          <xs:element ref="m:cbytes"/>
>          <xs:element ref="m:cerror"/>
>          <xs:element ref="m:cs"/>
>          <xs:element ref="m:share"/>

Appendix C

Operator Dictionary

Unfortunately the Unicode Character U+2ADC (FORKING) has been classified as not being in "Unicode Normalization Form C". Uniquely for all the math characters in Unicode, this character decomposes in NFC to a base U+2ADD (NONFORKING) composed with the combining negation slash U+0338. Best practice is to serve documents in NFC form and so the operator dictionary entry has been changed from U+2ADC to U+2ADD U+0338.

Appendix I

MathML Elements

Elements removed from index
malign malignscope mfraction

MathML Attributes

The list of attributes in appendix I unfortunately missed some attributes, it should be ammended as follows:

Attributes added to index
alttext bevelled charspacing class denomalign equalcolumns equalrows fontsize fontweight indentalignfirst indentalignlast indentshift indentshiftfirst indentshiftlast infixlinebreakstyle leftoverhang lineleading lquote macros maxwidth mode mslinethickness numalign rightoverhang rquote style subscriptshift superscriptshift valign
Attributes removed from index
monospaced my:background my:color
Spurious index entry removed