W3C

MathML Current Status

This page summarizes the relationships among specifications, whether they are finished standards or drafts. Below, each title links to the most recent version of a document.

Completed Work

W3C Recommendations have been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and are endorsed by the Director as Web Standards. Learn more about the W3C Recommendation Track.

Group Notes are not standards and do not have the same level of W3C endorsement.

Standards

2014-04-10

Mathematical Markup Language (MathML) Version 3.0 2nd Edition

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.

2014-04-10

XML Entity Definitions for Characters (2nd Edition)

This document defines several sets of names which are assigned to Unicode characters. Each of these sets is also implemented as a file of XML entity declarations.

2011-06-07

A MathML for CSS Profile

This document describes a profile of MathML 3.0 that admits formatting with Cascading Style Sheets.

2003-10-21

Mathematical Markup Language (MathML) Version 2.0 (Second Edition)

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 2.0 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 about one hundred and fifty 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 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 versions of such MathML tools already exist, and a number of others, both freely available software and commercial products, are under development.

1999-07-07

Mathematical Markup Language (MathML) 1.01 Specification

Group Notes

2006-01-31

Arabic mathematical notation

Analyzes potential problems with the use of MathML for the presentation of mathematics in the notations customarily used with Arabic, and related languages.

2003-11-10

Bound Variables in MathML

This Note examines the treatment of bound variables in Content MathML. Bound variables are central representational primitives in mathematical languages. They allow one to express functions, quantification, and operators with qualifiers. The first edition of the MathML 2.0 Recommendation [MathML2] was somewhat vague about the identity conditions on bound variables, and as a consequence Content MathML applications were left to guess the exact meaning. This Note provides some of the rationale behind how this has been clarified in the second edition [MathML22e].

2003-11-10

Structured Types in MathML 2.0

This Note discusses the facilities that are available in the MathML 2.0 Recommendation to facilitate the capturing of mathematical type information. It demonstrates how a combination of these features can be systematically used to provide support for general mathematical types.

2003-11-10

Units in MathML

MathML is an XML application for describing mathematical notation, capturing both its structure and content. As such, its scope does not extend to include units - determinate quantities adopted as standards of measure - which nevertheless, by their very nature, occur in an applied mathematical setting. This Note makes recommendations and suggestions for how units can be incorporated into MathML.

Obsolete Specifications

These specifications have either been superseded by others, or have been abandoned. They remain available for archival purposes, but are not intended to be used.

Retired

2002-08-09

An XHTML + MathML + SVG Profile

An XHTML+MathML+SVG profile is a profile that combines XHTML 1.1 [XHTML11], MathML 2.0 [MathML2] and SVG 1.1 [SVG11] together. This profile enables mixing XHTML, MathML and SVG in the same document using XML namespaces [XMLNS] mechanism, while allowing validation of such a mixed-namespace document. An XHTML 1.1 + MathML 2.0 + SVG 1.1 DTD driver is provided. An XHTML version of this document is conforming to this DTD.