W3C REC-MathML-19980407

Mathematical Markup Language
1.0 Specification

W3C Recommendation 07-April-1998

This version:
Latest version:
Previous version:
Patrick Ion <ion@ams.org>
(Mathematical Reviews / American Mathematical Society)
Robert Miner <rminer@geom.umn.edu>
(Geometry Center / University of Minnesota)
Principal Writers:
Stephen Buswell, Stan Devitt, Angel Diaz, Nico Poppelier,
Bruce Smith, Neil Soiffer, Robert Sutor, Stephen Watt


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 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. Twenty-eight of the MathML tags describe abstract notational structures, while another seventy-five 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.

Status of this document

This is a stable document derived from the 24 February 1998 Proposed Recommendation of the MathML specification. This document has been produced as part of the W3C HTML Activity. The publication of this document does not imply endorsement by the Consortium's staff or Member organizations.

The fundamental eXtensible Markup Language (XML) 1.0 specification has been adopted as a W3C Recommendation. Should future changes in the XML specification necessitate changes in the MathML specification, it is the intention of the W3C Math Working Group to issue a revision of the MathML specification. However, any changes are very unlikely to be substantial.

Most of this document represents technology tested by multiple implementations. A summary of MathML rendering and authoring software is described on the W3C Math Working Group home page.

The www-math mailing list is a public forum for questions and comments about MathML and issues related to putting math on the Web.

The W3C Math Working Group intends further development of recommendations for mathematics on the Web, as set out below.

A list of current W3C Technical Reports can be found at http://www.w3.org/TR.

Table of Contents

Extended Table of Contents

Chapter 1. Introduction
Chapter 2. MathML Fundamentals
Chapter 3. Presentation Markup
Chapter 4. Content Markup
Chapter 5. Mixing Presentation and Content
Chapter 6. Entities, Characters and Fonts
Chapter 7. Implementing MathML

Appendix A. DTD for MathML
Appendix B. Glossary
Appendix C. Operator Dictionary
Appendix D. Working Group Membership
Appendix E. Informal EBNF Grammar for Content Elements
Appendix F. Default Semantic Bindings for Content Elements


Copyright  ©  1998 W3C (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.