A. Conformance with the MathML 2 W3C standard

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').



[7] A very lightweight control.