Manage Learn to apply best practices and optimize your operations.

The basics of MathML 3.0

MathML 3.0 features new Cascade Style Sheets (CSS) functionality and new XML metadata syntax for printing complex calculations.

In late April, 2007, the World Wide Web Consortium (W3C) released a working draft of a new 3.0 version of its Mathematical Markup Language, aka MathML. Given that MathML 2.0 became a recommendation in 2003, it's interesting to consider the reasons why a new, next effort for math markup is getting underway.

Since the release in October, 2003, of the MathML 2.0 Recommendation, MathML has been adopted by an astonishing number of agencies, organizations, and companies. These include several major scientific publishers, patent offices in both Russia and the US, numerous mathematical associations and societies, and many others. Based on experience and use in these and other groups, the goal of this latest effort is to improve upon and extend the capabilities of MathML 2.0. Areas targeted for special attention include better internationalization support, enhanced accessibility tools, improved semantic encodings for mathematics, and more precise controls over rendering for print applications . Donald Knuth invented the typesetting language, TeX, because he couldn't find any existing tools to help him typeset complex equations of many kinds. One presumes some of those difficulties continue in bringing complex mathematics into print to this very day.

Thus, what's going on with MathML 3.0 as it progresses through drafts toward recommendation status is not a change to its overall architecture or design. Though the working group does plan to rewrite the specification to incorporate all known errata and to clarify matters that interested parties have requested be cleaned up. The real intent is to develop math markup that's suitable for use everywhere in the world, that provides access to mathematical information and concepts to all readers, and that delivers the goods when dealing with the kinds of complex presentation issues that producing good looking print from complex equations inevitably entail. Thus, special emphasis falls on MathML's relationship to CSS, with mathematical element mpadded revised and maction under consideration for possible deprecation. Bidirectional text is getting a special review for use in Arabic mathematical notations and adjustments for easy markup for elementary school mathematics are also being added.

Some of the most interesting work in MathML 3.0 has to do with so-called "content-oriented markup." This markup is intended to make it possible to explicitly encode the underlying mathematical structure for expressions rather than describing particular ways to render individual expressions. The goal is to capture the underlying mathematical semantics, to help separate the desire to present good looking equations on a page or in print from the real information they seek to convey. Chapter 4 of the specification has been completely recreated, filtered by extraction from XML content dictionaries that conform to OpenMath requirements. This ensures that the resulting syntax and semantics are both machine- and human-readable, and more rigorous in their use of terminology and markup elements.

This makes for some fascinating reading, especially for those concerned in how best to represent and communicate complex mathematical formulas, data and information. Take a look at the latest draft to see what we mean.

About the author

Ed Tittel is a full-time writer and trainer whose interests include XML and development topics, along with IT Certification and information security topics. Among his many XML projects are XML For Dummies, 4th edition, (Wylie, 2005) and the Shaum's Easy Outline of XML (McGraw-Hill, 2004). E-mail Ed at with comments, questions or suggested topics or tools for review.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.