W3CDocument Formats Domain

W3C's Math Home Page

Documents and Specifications - Software - Mathematics on the Web - Working Group - Background - Activity Statement - MathML Test Suite - Member Area - MathML Conference

What is MathML?

MathML 2.0 , a W3C Recommendation was released on 21 Feb 2001. A product of the W3C Math working group, MathML is a low-level specification for describing mathematics as a basis for machine to machine communication. It provides a much needed foundation for the inclusion of mathematical expressions in Web pages [more].

Try it!

17 implementations of MathML are available (browsers and authoring tools), many of which are open source software. Go to the software section for descriptions and pointers, or read the Implementation and Interoperability report.

Highlights:

11 Dec 2001
Submissions for the MathML 2002 Conference are now open.
4 Dec 2001
Design Science, Inc., the developers of MathType(tm) and the Equation Editor in Microsoft Office, announced the release of the WebEQ(tm) Developers Suite, a toolkit for building Web pages that include dynamic math.
22 Nov 2001
Schemasoft has announced a MathML to SVG converter. This provides an alternative for displaying equations in browsers that do not support MathML rendering but can render SVG. Is is written in Java (using XSLT), and a free prototype is available.
14 Nov 2001
Scientific Computing World has an interesting article on the use of XML in various scientific communities. It features a section on MathML.
09 June 2001
A new version of the MathType equation editor is available from Design Science. It introduces conversion to MathML from Word documents. An evaluation version can be downloaded..
09 June 2001
The Math Activity at W3C has been renewed . The new Working Group will be working on maintaining the MathML2.0 Recommendation, continuing liaison with other W3C working groups and other standards bodies, and more generally continue the task of facilitating the use of mathematics on the Web. Read the new charter here.
01 June 2001
Waterloo Maple announces Maple 7, which has support for MathML 2.0
21 Feb 2001
MathML 2.0 Becomes a W3C Recommendation. Read the press release and testimonials, and learn about the 17 implementations of MathML 2.0 already available.
8 Jan 2001
Publication of Mathematical Markup Language (MathML) Version 2.0 W3C Proposed Recommendation.
13 Dec 2000
The Mathematical Markup Language (MathML) Test Suite Goes Live!

The MathML Test Suite has over 400 tests of various functions in the MathML 2.0 specification. An interface is being developed to permit additions to the set by the user community.

12 Dec 2000
MathML 2 Validation added to the W3C Validation Service
13 Nov 2000
Publication of Mathematical Markup Language (MathML) 2.0 Candidate Recommendation

The Candidate Recommendation period is one of stability when implementation prototypes and trials of interoperability are encouraged. The Candidate Recommendation period for MathML extends until December 14, 2000. It is this short because in fact there are already several significant prototype implementations of MathML underway. Reports of the experience with the specification in practice will determine when the MathML specification will be put forward as a Proposed Recommendation. Please take a look.

October 20, 2000
MathML International Conference 2000

The successful first conference entirely dedicated to MathML and Math on the Web took place October 20-21, 2000, Urbana-Champaign, IL, USA. [There are some transcripts and slides of talks available.]

MathML 2 DTD Information
The MathML DTD is specified in the MathML 2 Working Draft. This page has versions of the DTD incorporating minor corrections and modified to work with existing software applications.

Mathematical Markup Language (MathML)

What is MathML?

MathML is intended to facilitate the use and re-use of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetting, and voice synthesis. MathML can be used to encode both the presentation of mathematical notation for high-quality visual display, and mathematical content, for applications where the semantics plays more of a key role such as scientific software or voice synthesis.

MathML is cast as an application of XML. As such, with adequate style sheet support, it will ultimately be possible for browsers to natively render mathematical expressions. For the immediate future, several vendors offer applets and plug-ins which can render MathML in place in a browser. Translators and equation editors which can generate HTML pages where the math expressions are represented directly in MathML will be available soon.

Why we are working in this area?

Although the mark-up language HTML has a large repertoire of tags, it does not cater for math. With no means of using HTML tags to mark up mathematical expressions, authors have resorted to drastic means. For example, a popular method involves inserting images - literally snap shots of equations taken from other packages and saved in GIF format - into technical documents which have a mathematical or scientific content.

W3C has been working with a number of companies with experience in editing and processing math on computers, as well as other specialist organizations. This work has culminated in a markup language called MathML, and W3C released MathML 1.0 as a Recommendation in April 1998. On July 7, 1999 the Math Working Group posted MathML 1.01, a revised version of the MathML 1.0 Recommendation.

The present Math WG has been working on an extension of MathML which has further customization possibilites, and which is in harmony with the recent developments in Web markup technology. The results of this effort have been a series of Working drafts of MathML 2, the most recent of which is highlighted at the top of this page.

For more information about MathML and the activities of the W3C Math working group, consult the W3C Math Activity Report or the MathML FAQ, by Stephen Buswell et. al. (a wealth of introductory and background information on MathML).

MathML puts math on the Web

MathML consists of a number of XML tags which can be used to mark up an equation in terms of its presentation and also its semantics. MathML attempts to capture something of the meaning behind equations rather than concentrating entirely on how they are going to be formatted out on the screen. This is on the basis that mathematical equations are meaningful to many applications without regard as to how they are rendered aurally or visually.

XML is closely related to HTML and assumes a very similar, but not identical syntax. One distinction is that in XML you cannot omit end tags. Furthermore, tags for elements which don't have any content are specially marked by a slash before the closing angle bracket.

MathML is a low-level format for describing mathematics as a basis for machine to machine communication. MathML is not intended for editing by hand, but is for handling by specialized authoring tools such as equation editors, or for export to and from other math packages.

MathML is intended to facilitate the use and re-use of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetters, and voice synthesizers. MathML can be used to encode both mathematical notation, for high-quality visual display, and mathematical content, for more semantic applications like scientific software, or voice synthesis.

Simple example of MathML

This simple example of MathML gives you an idea of how it works. The equation in question is:

x2 + 4x + 4 =0

and below are two ways that this can be represented, first using presentational tags, then using semantic tags. The presentational tags generally start with "m" and then use "o" for operator "i" for identifier "n" for number, and so on. The "mrow" tags indicate organization into horizontal groups.

<mrow>
  <mrow>
        <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
            <mrow>
              <mn>4</mn>
              <mo>&InvisibleTimes;</mo>
              <mi>x</mi>
            </mrow>
    <mo>+</mo>
    <mn>4</mn>
  </mrow>
    <mo>=</mo>
    <mn>0</mn>
</mrow>
        

The semantic tags take into account such concepts as "times", "power of" and so on:

    <apply>
        <plus/>
        <apply>
            <power/>
            <ci>x</ci>
            <cn>2</cn>
        </apply>
        <apply>
            <times/>
            <cn>4</cn>
            <ci>x</ci>
        </apply>
       <cn>4</cn>
    </apply>
        

 


MathML Software

Combined with a style sheet to specify other aspects of layout, MathML should eventually be used by browsers without the use of plug-ins. At present, several vendors offer applet and plug-ins which can render MathML in place in a browser. Translators and equation editors which can generate HTML pages with images of the mathematical expression from HTML with embedded MathML code will be available soon. A detailed survey of some software applications that render and make use of MathML (including screen shots of MathML in action) is available.

Additional Working Group Information:

MathML Implementations

Mathematics on the Web

This section points to mathematical resources on the Web, not necessarily related to MathML

Related Software [date of last update noted]

Publications/Articles

Working Group

Membership

The Math working group is co-chaired by Patrick Ion of AMS (Mathematical Reviews), and Angel Diaz of IBM Research. There is a great deal of activity in the W3C Math working group at the moment.

Both co-chairs are fully informed, and intimately involved in the activities of the working group. Contact either of the co-chairs if you are interested in joining the group, or need other information about the W3C Math Working Group.

Participants

Name Status Company
Ausbrooks, Ron Mackichan Software
Bernardin, Laurent Waterloo Maple
Brutzman, Don TBD Web3D
Buswell, Stephen Stilo Technology Ltd
Carlisle, David Invited expert NAG
Dalmas, Stéphane INRIA
Devitt, Stan Invited expert Stratum Technical Services
Diaz, Angel Co-chair IBM
Dooley, Sam alternate IBM
Froumentin, Max W3C contact W3C
Gayley, Todd alternate Wolfram Research
Hunter, Roger Alternate MacKichan
Ion, Patrick Co-chair, Invited expert MR/AMS
Kohlhase, Michael DFKI
Linetsky, Gene Alternate Saba
Lovell, Douglas observer IBM
Miner, Robert Invited expert Design Science
Padovani, Luca alternate University of Bologna, Italy
Philips, Ivor The Boeing Company
Raman, T.V. observer IBM
Robson, Robby Saba
Sargent, Murray Microsoft
Schena, Irene University of Bologna, Italy
Soiffer, Neil Wolfram Research
Topping, Paul alternate Design Science
Travis, Leopold MathSoft
Watt, Stephen Invited expert Univ. of Western Ontario

MathML Discussion Forums

Subscription information can be found at The W3C mailing list administrivia page.

MathML Documents

Date Document
Feb 21, 2001 Mathematical Markup Language (MathML) 2.0 Recommendation

Also available as:

MathML Test Suite
Feb 20, 2001 Implementation and Interoperability Report
July 07, 1999 Mathematical Markup Language (MathML) 1.01 Recommendation

Note: it is recommended that users and implementors adopt MathML2.0. This link is provided for mostly historical and compatibility purposes

June 11, 1998 W3C Math Working Group Charter - Angel Diaz, Patrick Ion
June 11, 1998 Briefing Package for W3C Math Activity - Angel Diaz, Patrick Ion
May 14, 1998 MathML Requirements - Paul Topping
April 07, 1998 Mathematical Markup Language (MathML) 1.0 Specification (replaced by 1.01)

Drafts and Background Documents

Date Document
January 08, 1998 Mathematical Markup Language Working Draft
May 26, 1998 EzMath - an easy to use textual format based upon how you would read mathematical expressions over the phone [Dave Raggett, W3C]
April 11, 1997 HTML Math Working Group Charter
June 22, 1996 MINSE - a concise medium-independent notation for math [Ka-Ping Yee,University of Waterloo]
May 31, 1996 Wolfram Proposal for HTML-Math
August 30, 1995 Unicode, Rich Text, and Mathematics - Murray Sargent, Microsoft
March 01, 1995 HTML 3.0 Internet Draft (Expired)
August 10, 1994 AsTeR - Audio System For Technical Readings [T. V. Raman, Adobe]
August 10, 1994 Unicode Plain-Text Encoding of Mathematics - Murray Sargent, Microsoft
June 01, 1993 ISO 12083 Math DTD and explanatory text
  Browser Interface Requirements for HTML Math - Robert Miner
  Thoughts on HTML Math - Bruce Smith Wolfram Research
  A letter on medium-independence of layout schema - Bruce Smith Wolfram Research
  An HTML Native Proposal
  Standard dtd's and scientific publishing , N.A.F.M. Poppelier, E. van Herwijnen, C.A. Rowley
  Entity sets of TR 9573
  Tables of Mathematica 3.0 characters
  Notational test examples
 

Design of a User Interface for Computer Algebra Systems - Neil Soiffer, Wolfram Research

  A more semantically oriented Math DTD due to Roy Pike

MathML Resources

Press Clippings

Past Highlights

General Information

Some useful general information about putting math on the web:


Maintained by: Angel Diaz (co-chair for the Math working group).
W3C contact for the Math activity: Max Froumentin (mf@w3.org)
$Date: 2002/03/12 18:49:49 $

Copyright  ©  1998-2000 W3C (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.