B. Contents of the "MathML support" add-on

The "MathML support" add-on contains:

  1. A configuration which lets the user create standalone documents conforming to the MathML 2 schema[6] (presentation markup only, content markup is not supported).

    Such standalone documents are typically used the way graphics files are. XHTML example: <img src="equations/equation1.mml"/>.

    Note that this configuration adds not only a MathML menu to the menu bar, but also a MathML tool just below the Edit tool, at the top/right of the main window.

    A sample MathL document is found in XXE_install_dir/demo/mathml/sample.mml.

  2. Additional configuration elements for the DocBook 5 configuration (found in mathml_addon_install_dir/docbook5/mathml_support.incl). These configuration elements:

    • Let the user edit MathML elements embedded in DocBook 5 documents (by the means of elements such as imagedata, equation, inlineequation, etc) using the MathML tool.

    • Add a "Add MathML Equation" button to the tool bar and extends the table editing commands in order to support the mml:mtable element and its descendants.

    • Modify the behavior of the "Insert special character by name" button (found in the Characters tool in XMLmind XML Editor - Online Help; command insertCharByName in XMLmind XML Editor - Commands; keyboard shortcut Esc n) as follows: if the caret is inside a MathML element, the insertCharByName dialog box lists the names of MathML character entities (e.g. InvisibleTimes).

    • Replace the "Parse Markdown as XML" menu item (found in the configuration specific menu, e.g. the DocBook menu; command unmarkdown in XMLmind XML Editor - Commands; keyboard shortcut Ctrl+Shift+SPACE) by a "Parse Text as XML" menu item. This variant differs from unmarkdown in the following manner: if the caret is inside MathML elements mml:mi or mml:mn, pressing Ctrl+Shift+SPACE ignores Markdown markup and instead replaces plain text math expressions (e.g. x+1) by equivalent MathML elements (e.g. <mml:mrow><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow>).

    A sample DocBook 5 document containing math is found in XXE_install_dir/demo/docbook5/sample.xml.

  3. Additional configuration elements for the DITA Topic configuration (found in mathml_addon_install_dir/dita/mathml_support.incl). These configuration elements add the same facilities as the above DocBook 5 customization.

    A sample DITA Topic document containing math is found in XXE_install_dir/demo/dita/sample.dita.

  4. Additional configuration elements for the XHTML 5 configuration (found in mathml_addon_install_dir/xhtml5/mathml_support.incl). These configuration elements add the same facilities as the above DocBook 5 customization.

    A sample XHTML 5 page containing math is found in XXE_install_dir/demo/xhtml5/sample.xhtml.

  5. An image toolkit similar to the one based on JEuclid.

    Note that installing this add-on also requires installing the add-on called "JEuclid image toolkit plug-in". That gives us two image toolkits which allow to convert MathML to a variety of graphics formats:

    • The “internal” image toolkit is needed to render the contents of the MathML tool[7].

    • The JEuclid image toolkit is used when XML documents embedding MathML or referencing MathML files are converted to formats such as HTML, PDF, RTF, etc. The JEuclid image toolkit is especially useful when the "Apache FOP 1.x XSL-FO processor plug-in" add-on has been also installed because it adds “native MathML support” to the Apache FOP XSL-FO processor.



[6] Opening a document starting with:

<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
"http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">

will of course cause the DTD to be used instead of the W3C XML Schema.

[7] Yes, just the contents of the MathML tool.