Chapter 2. MathML Compliance

The following tables show the compliance of pMML2SVG with the MathML specification.

The first five tables address the implementation of elements and their attributes. A name in bold italic represents a MathML element. A value Yes in the implementation column means that the basic renderer for this element is implemented (correct default display). A name with no style is an attribute, a Yes in the implementation column means that this attribute is fully supported. Partial in the implementation always comes with a text that gives more detail about the current status of the implementation.

The last two tables show the attributes that are common to all MathML elements. These are mainly style attributes.

Table 2.1. Conformance: MathML elements: Tokens

Tag name Implementation
mi Yes
mn Yes
mo Yes
form Yes
fence Yes
separator Yes
lspace Yes
rspace Yes
stretchy Partial : More operators can be stretched but are not yet supported
Operator Dictionary Yes
symmetric Yes
maxsize Yes
minsize Yes
largeop Yes
movablelimits No
accent Yes
Invisible operator Yes
mtext Yes
mspace Yes
width Yes
height Yes
depth Yes
linebreak No
ms Yes
lquote Yes
rquote Yes
mglyph No
alt No
fontfamily No
index No

Table 2.2. Conformance: MathML elements: General layout

Tag name Implementation
mrow Yes
mfrac Yes
linethickness Yes
numalign Yes
denomalign Yes
bevelled No
msqrt Yes
mroot Partial : Size of base index > 1 not yet supported
mstyle Yes
other elements attributes No
scriptlevel Yes
displaystyle Yes
scriptsizemultiplier Yes
scriptminsize No
background No
veryverythinmathspace Yes
verythinmathspace Yes
thinmathspace Yes
mediummathspace Yes
thickmathspace Yes
verythickmathspace Yes
veryverythickmathspace Yes
merror Yes
mpadded No
width No
lspace No
height No
depth No
mphantom Yes
mfenced Yes
open Yes
close Yes
separators Yes
menclose Yes
notation Yes

Table 2.3. Conformance: MathML elements: Scripts and limits

Tag name Implementation
msub Yes
subscriptshift Yes
msup Yes
superscriptshift Yes
msubsup Yes
subscriptshift Yes
superscriptshift Yes
munder Yes
accentunder Yes
mover Yes
accent Yes
munderover Yes
accent Yes
accentunder Yes
mmultiscripts No
subscriptshift No
superscriptshift No

Table 2.4. Conformance: MathML elements: Tables and matrices

Tag name Implementation
mtable Yes
align No
rowalign No
columnalign Yes
groupalign No
alignmentscope No
columnwidth No
width No
rowspacing No
columnspacing No
rowlines No
columnlines No
frame No
framespacing No
equalrows No
equalcolumns No
displaystyle No
side No
minlabelspacing No
mtr Yes
rowalign No
columnalign Yes
groupalign No
mlabeledtr No
rowalign No
columnalign No
groupalign No
mtd Yes
rowspan No
columnspan No
rowalign No
columnalign Yes
groupalign No

Table 2.5. Conformance: MathML elements: Enlivening expressions

Tag name Implementation
maction Yes
actiontype No
selection No

Table 2.6. Attributes common to all elements: tokens and general layout

Tag name mathvariant mathsize mathbackground mathcolor
Tokens
mi Partial (bold, italic, bold-italic). One letter default italic is implemented. No No Yes
mn Partial (bold, italic, bold-italic) No No Yes
mo Partial (bold, italic, bold-italic) No No Yes
ms Partial (bold, italic, bold-italic) No No Yes
mtext Partial (bold, italic, bold-italic) No No Yes
mspace Partial (bold, italic, bold-italic) No No Yes
mglyph No No No No
General layout
mrow Partial (bold, italic, bold-italic) No No Yes
math Partial (bold, italic, bold-italic) No No Yes
mfrac No No No No
msqrt No No No No
mroot No No No No
mstyle Partial (bold, italic, bold-italic) No No Yes
merror Partial (bold, italic, bold-italic) No No Yes
mpadded No No No No
mphantom Partial (bold, italic, bold-italic) No No Yes
mfenced Partial (bold, italic, bold-italic) No No Yes
menclose Partial (bold, italic, bold-italic) No No Yes

Table 2.7. Attributes common to all elements: scripts and limits, tables and matrices and enlivening expressions

Tag name mathvariant mathsize mathbackground mathcolor
Script and limit
msub No No No No
msup No No No No
msubsup No No No No
munder No No No No
mover No No No No
munderover No No No No
mmultiscripts No No No No
Tables and matrices
mtable No No No No
mlabeledtr No No No No
mtr No No No No
mtd No No No No
Enlivening expressions
maction No No No No