Math Working Group Roadmap 2007/8

Patrick Ion, W3C Math Working Group Co-Chair, AMS
Robert Miner, W3C Math Working Group Co-Chair, Design Science
Last modified:
$Date: 2010/10/17 17:37:20 $


This document describes the plans, and a time-line for deliverables, of the W3C Math Working Group in the period 2007‒2008. It will be updated from time to time as needed.

Status of this document

This document describes in general terms the goals and the plans of the Math Working Group (members only) for each of its deliverables. While those plans may change, they represent the group's best guess as of the date on this document. This document may be updated, replaced or rendered obsolete by other W3C documents at any time. It is inappropriate to use this document as reference material or to cite it as other than "work in progress". Its publication does not imply endorsement by the W3C Membership.

This document has been produced as part of the W3C Math Activity. The goals of the Math Working Group are discussed in the Math Working Group Charter, which foresees a WG duration from March 2006 to February 2008.

Table of Contents

1. Introduction

MathML is an XML vocabulary and markup language. The MathML 1.0 specification was the first XML application to achieve Recommendation status after the publication of the XML Recommendation in April 1998. It was revised to MathML 1.01 in July 1999. A rechartered W3C Math WG revised the specification further, culminating in MathML 2.0 (Second Edition) in October 2003. There followed a period of over two years in which the W3C Math Activity consisted in a Math Interest Group, with the intention of ensuring a stable specification in order to encourage implementation and adoption of MathML. The main purpose of the currently chartered W3C Math Working Group is to improve upon and extend the functionality of the MathML 2.0 in light of several years of experience of its large-scale deployment by many individuals and organizations. According to its Charter the present W3C Math Working Group runs from March 2006 to February 2008.

This document reflects the project plan of the Math Working Group. As such, it is a living document subject to change without notice.

2. Working Group Goals

The Math Working Group's goals can be summarized as follows:

2.1. Producing MathML 3.0

2.1.1 Editorial revisions and bug fixes to MathML

The MathML 2.0 (2nd Edition) specification contained some errors, and these will be corrected in MathML 3.0. More importantly, some sections have proved to be underspecified or unclear. A particular effort will be made in the revision of those parts of the specification. Generally speaking, only be relatively small number of extensions or deprecations will be made. It is the intention to retain as much backward compatibility as possible.

2.1.2 Presentation MathML

Presentation MathML is a part of the language concerned only with the displayed form of formulas. It is covered in Chapter 3 of the MathML Specification and involves about 30 elements accepting about 50 attributes. Presentation MathML's strength as a well-defined XML vocabulary has been the reason for its adoption in many production streams by large publishers. However, deployment of MathML in publishing for basic mathematical education has been hampered by inadequate support for notations such as long division. These omissions also have also proved important in the area of math accessibility. It is planned to add a few elements so as to deal with the problems that have been raised. In addition some refinements and clarifications of the rendering model for existing presentation elements are planned so as to better facilitate the high-end composition of scientific texts.

2.1.3 Content MathML

Content MathML is the part of the language particularly concerned with the semantics of the constructs of mathematics. For that reason it has appealed to other scientific communities engaged in semantic markup for their disciplines. For example, it is currently incorporated by reference as a part of CML (Chemical Markup Language) for chemistry and CellML for molecular and cell biologists. In addition it has proved attractive to the e-learning community. In its current form, Content MathML comprises about 120 elements taking about a dozen attributes. It is planned to add about ten new elements that for completeness in the fundamental areas of mathematical usage, particularly in connection with statistics.

One of the intended strengths of Content MathML was to be the extension mechanism it provided for introduction of new specialized notations, which are being developed all the time. An important, long-standing and well-developed approach to formal specification of the meaning of mathematics is called OpenMath, and Content MathML was originally informally aligned with OpenMath with the intention that the Content MathML extension mechanism might take advantage of the corpus of mathematics with OpenMath semantic definitions. However, time has shown the extension mechanism was not as useful, or widely adopted, as hoped; it is intended now to revamp this aspect of MathML.

MathML 3 will change the way semantic definitions of Content MathML elements are presented. In most cases, the actual definitions thenselves will not change (except for some small errors). We are reworking the whole Chapter 4 of the specification using essentially the formal structure of OpenMath Content Dictionaries as the source. This project is well underway, and will ensure a greater consistency in the Content Chapter, which is produced by XSLT from Content Dictionaries. It will also allow easier production of certain tables, which were in appendices of the previous version of the specification, and of other useful reference information.

A commitment to a full alignment of Content MathML and the basic part of OpenMath continues. As an annex to the second face-to-face meeting of the WG in June 2007 there will be a day-long joint meeting with the OpenMath community.

2.1.4 MathML and Unicode Alignment

Chapter 6 of the specification addresses the problems of characters needed for mathematical notation. At the beginning of the development of the MathML specification the Unicode character collection had many deficiencies from the point of view of mathematics. Since that time several revisions of Unicode have meant the addition of over 2,500 code points especially for the benefit of mathematics. It is intended to make sure that the descriptions of the characters and their uses really are in synchrony with Unicode 5 (as they indeed are almost entirely), and in particular to ensure alignment with and clarification of the Unicode Technical Report 25 and Unicode Technical Note 28. It should be remarked that an author of these notes, and participants in the negotiations for the addition of characters to Unicode are with the WG.

2.1.5 Combining MathML with other XML vocabularies

W3C's work on areas such as math, scalable vector graphics, synchronized multimedia, voice browsing and forms holds great promise for a new generation of Web content. MathML is intended, by design, to combine with such other XML vocabularies. The MathML Working Group collaborates with other Working Groups to realize the promise of combining MathML with other vocabularies.

The problems of combining MathML with other XML vocabularies, for instance, with an XHTML document, or, as is frequently desired, with SVG for graphics, continue. One of the practical difficulties of doing this is that the commercially available browsers are not uniform in their support for W3C standards and their rendering, let alone undertaking that relatively complex task for MathML. In addition, the standards so far developed for Compound Document Formats at the W3C have not yet addressed anything beyond combining XHTML and SVG.

MathML 2 (2nd Edition) contained descriptions of best current practices for using MathML in documents at the time of its publication. This material now needs to be changed. In part we need to put forth our best efforts to ensure that the W3C standards for Compound Documents evolve in such a way as to be consistent with what is needed for documents containing mathematical formulas. A rewrite of the relevant Chapter 5 of the MathML specification and of other parts that are impacted by such changes will have to be one of the later parts of the producing a new Recommendation. Beyond this, the Math WG may be able to work, with the W3C CDF effort, toward producing a spec for a profile that covers a typical scientific document that would include XHTML+MathML+SVG and use CSS, though no plan has yet been finalized for doing this.

2.1.6 MathML and Internationalization

Users of MathML in right-to-left language communities have raised some issues in connection with typesetting of mathematics in bidirectional text. There was a Note on Arabic mathematical notation produced by the preceding Math IG on the use of MathML with Arabic text. The recommendations of that Note, along with a small number of additional refinements, are being incorporated into MathML 3. It is possible that a revision of the Note will be issued too; the authors are still with the WG.

2.2. Addressing the problems of universal rendering of MathML

One difficulty in the way of more adoption of MathML, especially on the web, has been the difficulty of rendering MathML in common browsers. There are effective implementations of MathML rendering in Microsoft Internet Explorer using their behaviors technology, and there is a native implementation of MathML rendering in current versions of Firefox. However, deploying documents using MathML in a cross-browser way remains problematic. The way that compound XML documents are handled differs from browser to browser, something the W3C has not yet been able to mediate to the satisfaction of all parties. There is even no agreement over what the MIME type of documents with mixed vocabularies should be. Because of this, the use of MathML in backend production and knowledge management continues to exceed its use for Web publication.

However, with improved CSS support in recent browsers, as well as the extensions to CSS planned for CSS3, it will soon be possible to acceptably render a significant subset of the MathML language in a cross-browser way. This is already possible in browsers such as Opera that already implement some of the planned CSS3 functionality. This would remove a major obstacle to increased adoption of MathML, at least in many use cases.

2.2.1 A MathML for CSS specification

The WG has decided to specify a subset of MathML3, as it is developed, which can be readily rendered with CSS, together with a CSS stylesheet guaranteed to do it acceptably wherever there is a conforming implementation. In several cases, attributes are being introduced in MathML 3 for the purpose of facilitating CSS rendering. In other cases, attributes that are optional in MathML 3 will be required by MathML for CSS. The document being developed will be proposed as a W3C Recommendation.

The Math WG is attempting to work with the developers of CSS to ensure that we can and do use as much of new CSS as possible, so as to make the MathML for CSS subset as large as possible.

2.3. Addressing the problems of input of mathematical formulas

There is no general agreement on a standard way of entering mathematics using a keyboard. There is a wide variety of graphical formula editors used in conjunction with word processors and computer algebra systems. In addition, many other document preparation systems have introduced their own ASCII formula languages. Finally, in science, particularly theoretical physics and mathematics, a document preparation language called TeX is predominant, to the extent of having influenced the input methods of commercial computer algebra and numerical analysis systems.

However, the lack of an easy, standard keyboard input method for mathematics has become a serious obstacle in many important contexts for math on the Web. Among the most important are the use of mathematics in Wikis and blogs. Individual authors in academia have also repeatedly cited the lack of a simple linear input language, similar to TeX, for authoring MathML as an obstacle to greater usage of MathML in Web publication of course notes, assignments and the like. In contrast, large organizations and production streams that are more comfortable with specialized (typically commerical) tools, as well as those driven by accessibility considerations, have been more able to take advantage of MathML.

2.3.1 A Note on keyboard input of mathematical formulas

To meet the needs of individual authors and web applications for a keyboard input syntax for formulas, the Math WG has decided to begin work on a Note. Quite a lot of work has already been done by member companies and they are willing to contribute it toward producing a common understanding of the situation.

Currently, most web applications supporting mathematical notation use some variety of TeX-like syntax. TeX is a customizable macro programming language whose generality (it is Turing complete) is both a source of its strength and a source of difficulties for incorporating some of its advantages elsewhere. Consequently, there are many languages that more or less agree with TeX, but are more limited and regular. The Math WG has contacted many of the implementors of these languages, and most have indicated they see a benefit to having a single standard syntax. Consequently, at least in the initial phase, the Math WG will seek to compile a common subset of all these languages, and to propose a single syntax where they differ.

The constructions and the nomenclature of TeX have heavily influenced the development of MathML already. MathML in its full XML form was never thought to be usable as an input format: for a start it is far too verbose as necessitated by its intention to be expressive. However, the Math WG regards the a well-defined mapping from a keyboard input syntax to MathML to be a requirement.

It is possible that a consensus may arise on an adequate syntax that should be enough to encode basic mathematical formulas in a way that can be guaranteed to lead to clean and correct MathML. Of course there is not going to be a simple syntax that can encompass all that is offered by full NathML markup. But an agreed simple input syntax for a basic subset of mathematical formula types would be useful to developers of publication tools, and if we can, we may well put one forward as a proposed recommendation.

3. Development Schedule

The 2007‒2008 development timetable of the W3C Math Working Group is described in the following table. The dates show are actual (past) or projected (future) dates when each document enters the given phase in its process. Completion of any phase is subject to W3C procedures.

The 0th draft of a document is one internal to the Math WG, the 1st and 2nd drafts are public documents. The numbering is just a convention to help tracking the progress of tasks. There may well be other intermediate drafts of documents that the WG is working on. The 'Ed./Lead' column records the editors and lead authors working on documennts and parts of the specification, using initials as shorthand.

Deliverable Oth draft 1st draft 2nd draft Last Call ends CR PR REC 2nd ed. Ed./Lead
MathML 1.0 - - - - - - 24 Apr 1998 7 Feb 1998 PI, RM
MathML 1.01 - - - - - - - 7 Jul 1999 PI, RM
MathML 2.0 - - - - - 13 Nov 2000 8 Jan 2001 21 Feb 2001 21 Oct 2003 DC, PI, RM, NP
Math WG Roadmap 2007/8 22 Mar 2007 Mar 2007 Jun 2007 PI, RM
MathML 3.0 Apr 2007 27 Apr 2007 Aug 2007 Sep 2007 Nov 2007 Dec 2007 Jan 2008 Mar 2008 - DC, PI, RM
MathML 3.0
Presentation - Chap. 3
- May 2007 - Part of MathML3 NS
MathML 3.0
Content - Chap. 4
- Apr 2007 - Part of MathML3 MK, SDv
MathML 3.0
Combination - Chap. 5
- Jul 2007 - Part of MathML3 RM
MathML 3.0
Characters and Unicode - Chap. 6
29 Mar 2007 Apr 2007 - Part of MathML3 MS, DC, PI
MathML for CSS 22 Mar 2007 27 Apr 2007 - - - - - post CSS3 - BB, DC, GC, BM, PI
Keyboard Input of Mathematics - Apr 2007 - ? ? ? ? ? ? KS, MS
XHTML + MathML + SVG Profile - - - - - - - - - -
MathML Test Suite - May 2007 Dec 2007 - PL
MathML and CSS Test Suite - Jun 2007 Dec 2007 - PL

Each of these deliverables is described in the following sections.

4. Working Group Deliverables

4.1. MathML 3.0

Editors: David Carlisle (NAG), Patrick Ion (AMS) and Robert Miner (Design Science)

Member only link: Latest Draft

MathML is an XML vocabulary and markup language. The MathML specification in its current form as a W3C recommendation is a large document of 8 chapters and 11 apendices. As a conventionally printed docuemnt it runs to 541 pages in 2.9MB of PDF. Also associated are some character tables with about 3,000 entries. The production of the specification, in the normative form for the W3C TR archive and all its derived versions is based on XML source files which are processed and finally assembled with XSLT and other script files. We expect that, as for previous editions the main chapters will have various lead authors and that, finally, the whole will be read by the WG as a whole, and massaged by a smaller group of editors.

The large sections of the MathML 3 specification that will be developed are listed separatly in the time-line above. They mostly correspond to tasks discussed in seciton 2 in the context of the present goals of the Math WG.

4.1.1. MathML 3.0 Presentation Markup: Chapter 3

Editors: Neil Soiffer (Design Science)

Member only link: Latest Draft

4.1.2. MathML 3.0 Content Markup: Chapter 4

Editors: Michael Kohlhase (DFKI) and Stan Devitt (Agfa)

Member only link: Latest Draft

4.1.3. MathML 3.0 Combinations: Chapter 5

Editors: Robert Miner (Design Science)

Member only link: Latest Draft

4.1.4. MathML 3.0 Characters and Unicode: Chapter 6

Editors: David Carlisle (NAG), Murray Sargent (Microsoft) and Patrick Ion (AMS)

Member only link: Latest Draft

4.2. Math Working Group Roadmap

Editors: Patrick Ion (AMS) and Robert Miner (Design Science)

Latest Draft

4.3. MathML for CSS

Editors: George Chavchanidze (Opera) et al.

Member only link: Latest Draft

This document defines MathML for CSS, a new subset of MathML3 for composing documents that will be readily rendered using only CSS technology as it is expected it will be implemented in browsers. MathML for CSS will be a subset of the MathML 3 specification, and will necessarily not offer all its features and flexibility. An accompanying CSS stylesheet will be published. The stylesheet will in some cases require constructs proposed for CSS3, but most parts will only require earlier CSS standards. Any CSS construct suggested for use with MathML will always be present in at least some known browser implementation.

4.4. Keyboard Input of Mathematics Note

Editor: Kyle Siegrist (MAA) and Murray Sargent (Microsoft)

Member only link: Latest Draft

4.5. An XHTML+MathML+SVG Compound Document Profile

Editor: N/A

Member only link: Latest Draft

An XHTML+MathML+SVG profile is a profile that combines XHTML 1.1, MathML 2.0 and SVG 1.1 together. This profile enables mixing XHTML, MathML and SVG in the same document using XML namespaces mechanism, while allowing validation of such a mixed-namespace document.

This specification will be a joint work requiring collarboration with the Compound Document Format and SVG Working Groups. In addition, the problems of Compound Documents form part of a wider discussion within the W3C.

4.6. Test Suites

Editors: Paul Libbrecht (DFKI)

Latest Version

The Working Group has developed a test suites for the MathML Recommendation and will update that to accord with the changes in MathML 3. The MathML test-suite that was prepared for MathML 2.0 is being reorganized so as to present the samples within strictly compliant XHTML documents and in an accessible way. The test-suite will be re-focussed on presentation MathML. It is being used in investigations of automated rendering validation.

In connection with the MathML for CSS specification under development a test suite of examples exercising the MathML and CSS compliance of renderers is to be developed.

4.6. Maintenance of published Recommendations

The W3C Math Activity has successfully published several Recommendations. The Working Group will maintain errata for them, and will publish new editions when appropriate. At present no new editions are planned.

5. Related Work Items

Work on the following items is basically finished, and new development is not planned for them.

5.1. Media Type for MathML

The 'application/xhtml+mathml' MIME media type for XHTML based documents which include MathML markup was submitted for registration in a bundle of applications from the W3C. As it turned out only the SVG related ones were actually registered. At this point it does not seem worthwhile to try to restart the registration process outside the context of MathML 3. Final Recommendation of a MathML 3.0 Specification by the W3C will effectively carry acceptance of the appropriate media types with it. The XHTML Media Types Note summarizes how to use various media types for serving various XHTML Family documents.