MathML Test Suite and Validator

Project acronym: QUESTION-HOW
Project Full Title:Quality Engineering Solutions via Tools, Information and Outreach for the New Highly-enriched Offerings from W3C: Evolving the Web in Europe
Project/Contract No. IST-2000-28767
Workpackage 1, Deliverable D1.2

Project Manager: Daniel Dardailler <>
Author of this document: Max Froumentin

Created: 29 August 2002. Last updated: 29 August 2002.

Table of Content:


The MathML Test Suite and Validator are tools developed at W3C to help deployment of the Mathematical Markup Language on the Web as well as within mathematical software.

Until now, mathematical equations were shown on the Web through the use of pictures, which caused numerous problems: images have to be generated off-line, a page with complex mathematics can contain many pictures and take a while to download, and rendering is fixed and cannot be modified to suit the user's preferences or abilities (font size, colours, aural rendering). MathML was designed by W3C to solve this problem by defining a language that describes precisely what an equation looks like so that a Web browser supporting it can display the mathematics in a more "intelligent" way than through the use of pictures.

Now MathML is supported by a fair amount of browsers, either natively or through "plug-ins". Additionally MathML has been adopted by the major mathematical software companies as a common interchange format. Part of the work of the newly re-chartered W3C Math Working Group is now about education and outreach. In particular: to help Web content authors write valid MathML for correct display in a browser, and reciprocally to ensure software authors handle MathML correctly for display or data exchange.


Test Suite

MathML is the "Mathematical Markup Language". It is an XML language for describing mathematical notation, both for display of equations in a Web browser, of for exchanging data between mathematical applications.

MathML evolved from MathML 1, published in April 1998, to MathML 2.0, published in February 2001. Version 2.0 brought many new features, mostly related to ensure interoperability,as well as to reflect new developments in recent W3C specifications.

Along with the MathML 2.0 Recommendation, the Working Group, under supervision of the W3C staff, has developed a test suite for the language, a large collection of simple MathML files that implementations could use to test conformance to the standard.

As more and more implementations of the language (about 30 known to the Working Group) are written, a set of test files that is as complete as possible is required. Therefore the test suite is continually evolving, and more and more areas of the Recommendation are covered.

Writing a test suite for MathML

The MathML language comes as two distinct sets of tags: Presentation MathML and Content MathML. Presentation is concerned with describing how a piece of mathematics is rendered, while Content focuses on the meaning of the described equation. Writing a test suite for each part of the language poses different problems.

In June 2002, a version 2.0 beta of the test suite was released. The tests now cover parts of MathML 2.0 that were missing from the previous test suite. Also, many of the errors were corrected. Moreover a few error reports raised interesting questions about the MathML language itself and how to interpret it. The discussions that followed helped the Working Group provide errata or clarifications to the specification and proved that the test suite was not only useful for implementations but also for the specification itself. Another worthwhile change was that the format of the test suite was modified so that the MathML markup is included directly in the test's HTML page, rather than linking to it. This was made possible by the so-called Universal MathML Style Sheet, a mechanism designed by the Working Group that allow XHTML pages that include MathML markup to be rendered on most major Web browsers.


The W3C provides an on-line HTML validation service. People who put HTML pages on-line can check whether they are valid by typing their URL in the validator page, or by uploading them. In the course of this project, support for MathML has been added: one can validate MathML files, checking whether they conform to the MathML 2.0 document type definition, as specified by the Recommendation.

In July 2002, the Working Group has released a new version of the Document Type Definition for MathML2.0, incorporating bug fixes and reflecting errata in the specification. This new DTD will eventually replace the current one in the validator.

Another upcoming feature of the DTD is the addition of the new XHTML+MathML+SVG DTD, which allows validating of compound web pages containing mathematics as well as vector graphics.

Here's a copy of the interface offered by the validator.

HTML Validation Service

Welcome to the W3C HTML Validation Service; a free service that checks documents like HTML and XHTML for conformance to W3C Recommendations and other standards.

Recent Updates

These are the most recent major changes to this service. See "What's New" for more details.

Validate by URI


Alternatively, you can upload files from your computer to have them checked.

Deviations from plan