# What is MathML?

(Excerpt from "The MathML Handbook" by Pavi Sandhu)

MathML, the *Mathematical Markup Language*, is an XML application for encoding mathematics on the Web. It provides a simple but precise syntax for encoding both the visual structure and the symbolic meaning of mathematics. Using MathML, you can display even the most complex mathematical notation in a Web page with a high degree of fidelity and clarity. At the same time, the meaning of the notation can be preserved so that, for example, you can copy and paste an equation from a Web page into a computer algebra system for evaluation.

MathML was the first XML application endorsed by the W3C and is supported by major software vendors (including IBM, HP, Microsoft, and Sun) as well as by professional organizations such as the *American Mathematical Society* (AMS). Currently, a major development effort to create tools for authoring, rendering, and processing MathML is underway. This includes support for displaying MathML in leading Web browsers including *Internet Explorer (IE)*, *Netscape*, and *Mozilla*.

As a common and widely accepted standard for representing mathematics, MathML provides the foundation for many interesting and useful applications. For example, using MathML you can develop dynamic mathematical Web sites that feature interactive equations; create a database of technical documents whose contents can be easily searched, indexed, and archived; or develop speech synthesis software for the aural rendering of mathematics.

MathML is simple enough to be readable by humans but is also well suited for being generated and processed by software. It is also flexible and extensible — it includes methods for modifying the meaning of existing notation and for describing new notation that the current syntax does not support. This is important since mathematical notation is continually evolving, making it impossible for any fixed set of constructs to describe all possible notations.

MathML was specifically designed to work well with existing Web technologies. MathML equations can be dynamically processed using JavaScript and Java, styled using CSS and XSLT, or hooked up to HTML controls like buttons and pull-down menus. The combination of scripting and MathML makes it possible to create interactive Web sites that can display and manipulate mathematical content. This is an important requirement for teaching, research, and anywhere else that mathematics is important.

Since MathML is an XML application, general XML tools such as XML editors and parsers can process it. In particular, mathematical notation from a single MathML source file can be rendered in diverse media such as Web pages, print, and audio by using different CSS or XSLT stylesheets, each optimized for a specific medium.

Because it is written in plain text, MathML is portable and platform independent. This makes it a convenient medium for exchanging mathematical content between diverse applications such as Web browsers, word processors, equation editors, as well as computer algebra systems and other scientific software. MathML is thus well suited to becoming a standard format for storing and communicating mathematical information.

<< back | next >> |

**Copyright © CHARLES RIVER MEDIA, INC., Massachusetts (USA) 2003**

Printing of the online version is permitted exclusively for private use. Otherwise this chapter from the book "The MathML Handbook" is subject to the same provisions as those applicable for the hardcover edition: The work including all its components is protected by copyright. All rights reserved, including reproduction, translation, microfilming as well as storage and processing in electronic systems.

CHARLES RIVER MEDIA, INC., 20 Downer Avenue, Suite 3, Hingham, Massachusetts 02043, United States of America