This specification defines the Mathematical Markup Language, or MathML. MathML is an XML application for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text.
This specification of the markup language MathML is intended primarily for a readership consisting of those who will be developing or implementing renderers or editors using it, or software that will communicate using MathML as a protocol for input or output. It is not a User's Guide but rather a reference document.
This document begins with background information on mathematical notation, the problems it poses, and the philosophy underlying the solutions MathML proposes. MathML can be used to encode both mathematical notation and mathematical content. About thirty of the MathML tags describe abstract notational structures, while another one hundred provide a way of unambiguously specifying the intended meaning of an expression. Additional chapters discuss how the MathML content and presentation elements interact, and how MathML renderers might be implemented and should interact with browsers. Finally, this document addresses the issue of MathML entities (extended characters) and their relation to fonts.
While MathML is human-readable it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML. Several early versions of such MathML tools already exist, and a number of others, both freely available software and commercial products, are under development.
This is a W3C working draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C working drafts as reference material or to cite them as other than `work in progress'. This is work in progress and does not imply endorsement by, or the consensus of, either W3C or members of the Math working group.
This document has been produced by the W3C Math Working Group.
A list of current W3C Technical Reports can be found at http://www.w3.org/TR.
It is expected that there will be at least two more Working Drafts, appearing at roughly one month intervals, before finalization of the Working Group's proposed specification MathML 2.0.
The present draft is a revision of the earlier corrected W3C Recommendation MathML 1.01. It differs from it in that several chapters have been modified and one added. The introductory chapters 1 and Chapter 2 are almost unchanged in this draft. They remain essentially correct, but will later be revised to reflect the changes in the rest of the document when these have settled down.
Chapters 3 and 4 have been extended to describe new functionalities added, as well as smaller improvements of material already proposed. Chapter 5 has been newly written to reflect changes in the technology available. The major tables in chapter 6 are being regenerated to reflect an improved list of characters useful for mathematics. However, since the outcomes of several initiatives with respect to mathematics in Unicode are not yet clear, the main text of this chapter has not yet been revised, and the character tables are omitted. Chapter 7 has been completely revised. A new chapter 8 on the DOM for MathML has been added; the latter points to a new appendix E for a detailed listing.
The appendices have been reorganized into normative and non-normative groups. The former have draft updates. Appendices E and H are completely new.
Comments on this document should be sent to the public mailing list of the Math Working Group.