MathML support in XMLmind XML Editor passes almost all the MathML 2 tests of the W3C (Presentation section only), modulo the following limitations and specificities. Note that all advanced features (stretching of embellished operators, alignment groups and marks, etc), expect one (see below) are generally well supported.
Implementation limitations:
The content markup is not supported at all. Content elements are rendered as tree views.
The rendering of accents is very poor. Each MathML element, including a mo
used as an accent, is represented on screen by a gadget[7]. This gadget has the same width, ascent and descent as the characters it contains. In XMLmind XML Editor, there is no way to make a gadget (the accent element) overlap another one (the accented element). Therefore, there is always too much space between the accent element and the accented element.
Negative dimensions and offsets in elements such as mpadded
are not supported.
Limitations related to mtable
:
Vertical and horizontal stretching rules are not applied to mtd
elements containing a stretchy operator.
Cells acting as labels in mlabeledtr
elements are not flushed to the right or to the left. You need to explicitly specify a minlabelspacing
attribute for the mtable
.
A percent value for the width
attribute of an mtable
is not supported.
A fit
or percent value for the columnwidth
attribute of an mtable
is not supported.
Value leftoverlap
of attribute side
of an mtable
is considered to be equivalent to value left
. Value rightoverlap
of attribute side
of an mtable
is considered to be equivalent to value right
.
Limitations related to maligngroup
and malignmark
:
A cell containing alignment groups is always left-aligned. That is, in such case, the columnalign
attribute is always ignored.
The decimalpoint
attribute value is honored in most cases. However, in complex cases, you may have to insert a malignmark
element to obtain the desired alignment.
Empty alignment groups are ignored by the alignment algorithm.
Implementation specificities:
Line-breaking is not implemented.
Invisible elements such as mphantom
, mspace
, etc, are rendered in light gray to allow editing them. Invisible characters such as ⁢
, ⁣
, etc, are rendered using tiny vertically aligned glyphs to allow editing them.
Comments and processing-instructions having a math
element ancestor are not rendered at all.
The fontfamily
attribute of an mglyph
element may reference the family of any font installed on the machine running XMLmind XML Editor. The index
attribute of an mglyph
element must specify the Unicode code point of the character represented by the mglyph
(e.g. 97 for character 'a
').