MathML in Mozilla

Maintained by Roger B. Sidje <rbs@maths.uq.edu.au>

Updates

Discussion Forum

Discussions related to MathML are carried out in the newsgroup netscape.public.mozilla.mathml. Messages sent to the Mozilla MathML newsgroup are forwarded to the Mozilla MathML mailing list, and vice-versa. You can subscribe or unsubscribe to the mailing list (leave the body blank).

Links

Fonts and MathML-enabled Binaries of Mozilla

Sample MathML Documents

Create MathML Documents

The text below is dated May 1999 when the project started. Since then some milestones have been achieved, and while an elegant MathML renderer remains the primary focus, new tools have come to being. For example, live TeX-to-MathML translations are possible with server-side convertors such as itex2MML and the prototype JavaScripted MathML editor makes ... not as outlandish as it may have seemed at the time. Moreover, other interoperable approaches such as XSLT and SOAP have been developed as well.

The Big Picture

Both the output and input of MathML will be investigated in this project.

Implementation

A mathematical expression can be represented as an aggregate set of boxes. These are the bounding boxes that would enclose mathematical entities (literal symbol, operator, delimiter, etc). With rules governing the positioning of these entities (subscript, superscript, fraction, etc), it is possible to construct the box-model in a recursive manner by traversing the parsing tree of the expression.

With the object-oriented paradigm, each box can be viewed as an object that has its own specific properties and shares a common set of properties with other objects. With the CSS paradigm, each box can be viewed as a CSS frame that possibly embeds other CSS frames. Hence there is a direct correspondence between the two paradigms.

MathML offers two formats for representing an equation: presentational tags and semantic/content tags. Given an equation in either format, the MathML project will ultimately aim at constructing a lump of CSS frames that can then be passed onto Gecko for layout and display.

The graphical input component of the project will seek to provide a point-and-click authoring tool for creating and editing mathematical expressions. But beneath the graphical outward appearance, there will be plain MathML text that could therefore go in Composer or in the input field of a form.

What about style sheets, JavaScripting, cut'n paste and the likes? As you see, in addition to getting the foundation right, there are many open issues to the project awaiting your input and help!