A. Conformance with the MathML 2 W3C standard
Prev |  | Next

## 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 `&InvisibleTimes;`, `&InvisibleComma;`, 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.

Prev |  | Next
4. MathML preferences | Home | B. Contents of the "MathML support" add-on