Hello,
As you may know, David Harvey and I have been working on getting some support for MathML into MediaWiki. Two weeks ago, we decided that the product of our labour has matured enough to be submitted as a patch to MediaWiki. It can be found attached to bug 672 ( http://bugzilla.wikipedia.org/show_bug.cgi?id=672 )
Currently, MediaWiki uses a helper program, called texvc, to convert the contents of <math> ... </math> into HTML, PNG and (very limited) MathML. David wrote a new program, called blahtex, to handle the conversion to PNG and MathML (but not HTML). The main purpose of the program was to offer better support of MathML, but in the process David also covered some TeX constructs that texvc cannot handle, improved the reporting of errors, and started supporting non-ASCII characters. For the sake of balance, let me mention some advantages of texvc: it works, as is proven by its deployment on the Wikimedia servers for the past three or more years. Tomasz Wegrzanowski (the author of texvc) made the point that C++, the language in which blahtex is written, is not the best choice from a security point of view; texvc is written in OCaml.
The patch submitted to MediaZilla integrates blahtex with MediaWiki. The W3C has specified that MathML can only be used in XHTML documents, and Firefox refuses to display it if it's used in HTML. Therefore, MediaWiki uses MIME type application/xhtml+xml (irrespective of the value of $wgMimeType), if the user has selected MathML in the preferences. An exception is if the browser used does not support XHTML; otherwise, the user won't be able to view any page, and it won't even be possible to change the preference back to non-MathML.
More information about the patch can be found at http://meta.wikimedia.org/wiki/Blahtex/How_to_make_MathML_work_in_MediaWiki
A demo is running at http://wiki.blahtex.org/ . Unfortunately, it is mostly attracting spammers at the moment.
Of course, we'd like our code to be accepted in MediaWiki, and eventually enabled on the Wikipedias. Please tell us if you have any advice on how to achieve this goal. Criticism of our work is of course also very welcome.
Cheers, Jitse = [[en:User:Jitse Niesen]]