*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 Manager: **Daniel Dardailler**
<danield@w3.org>

Author of this document: *Max Froumentin*

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

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.

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.

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.

- For Presentation MathML, an obvious design for tests is to provide one
piece of MathML markup, as well as an image of how the test renders, such
as:
However, the sample rendering provided is only a suggested, as one of the requirements of MathML was to not mandate a particular rendering of mathematics, as the language is meant for use in many rendering environment, including speech engines or braille devices. Indeed, a welcome addition to the test suite would be alternate renderings, such as voice readings in several languages.

- Testing Content MathML is even more of a challenge. Even if a rendering
is provided as a hint to browsers, such as the example below, Content
MathML was designed to be processed in many different ways, not just
rendering.
However it is difficult to envisage a form of testing that would cover all the meanings that a piece of Content MathML is meant to convey, or all the uses that an implementation can make of it. One may use a particular piece of markup for symbolic computation (differentiation, expansion, etc.) or within numerical algorithms, to apply a formula to a set of data. Again, a future version of the test suite may provide more information on how to test that an implementation is conformant to the Content MathML spec, based on criteria more advanced than just rendering.

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 ServiceWelcome 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 UpdatesThese are the most recent major changes to this service. See "What's New" for more details. - Added support for XHTML 1.1, XHTML Basic 1.0, and MathML 2.0 (Sept 13, 2001)
- Improved and expanded Character Encoding support (June 22, 2001)
Alternatively, you can upload files from your computer to have them checked. |

none.