XSLT Stylesheets for MathML on the Web

Version: March 29, 2012

Original title Putting mathematics on the Web with MathML

One of the first methods of making XHTML plus MathML pages work across a range of contemporary browsers was to use an XSLT stylesheet which was executed in the browser (using the xml-stylesheet instruction). This stylesheet detects the browser being used and transforms the document appropriately adding any browser-specific markup that is required to support MathML on that platform.

These stylesheets were presented at the 2nd International MathML Conference. The slides from the talk, which form a demonstration of the original stylesheets are available from this site.

The original stylesheets are still available from this location, see the links in the technical documentation however it should be noted that the versions here are for historic reference only and target browser versions that are no longer widely used, and only support MathML 2.

Versions of the stylesheets updated to MathML3 are currently maintained as google code projects.. The documentation referred to above is still largely relevant to the updated stylesheets.

You can test your browser by viewing this simple Presentation MathML example, or this more complex Content MathML page.

To use these stylesheets the document needs to be well formed XHTML, and served with an XML Mime type (application/xml or application/xhtml+xml). A line such as the following should be inserted at the beginning of the XHTML page, before the opening <html> tag but after the XML declaration <?xml...?> if it exists:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">

For discussion of other ways of putting MathML in web pages, please see the Math on the Web pages of this web site. (not yet available)

The W3C Math Working Group. Send comments, questions and fixes to www-math@w3.org
MathML inside!