Abstract

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.