axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Content MathML on MathAction and Reduce


From: Page, Bill
Subject: [Axiom-developer] Content MathML on MathAction and Reduce
Date: Sat, 15 Oct 2005 00:04:53 -0400

I have recently installed the new version 3.8 of Reduce that
includes support for input and output of MathML. Content MathML,
as opposed to Presentation MathML retains a large part of the
mathematical semantics (but not as much as OpenMath) so it is
interesting from the point of view of exchange between different
computer algebra systems. We have plans also to resurrect the
work on OpenMath in Axiom.

Both Content MathML and OpenMath can in principle also be
rendered as 2-d mathematics but it is a bit more difficult to
process than Presentation MathML. It is Presentation MathML
that is just becoming available on new web browsers but Content
MathML is not yet directly supported on any browser (so far as
I know).

Fortunately there is a way to deal with Content MathML and
some of the rough edges in Presentation MathML using XSLT.

http://www.w3.org/Math/XSL/Overview-tech.html

XSLT style sheets for MathML

http://www.w3.org/Math/XSL/Overview.html

Putting mathematics on the Web with MathML

After a lot of head scratching and help from Bob McElrath I
managed to modify the MathAction wiki to support the XML
compatible combination of XHTML and MathML and also to
implement XSLT style sheets. So now (with a suitably
configured browser) this allows us to generate content
MathML output from Reduce and display in as part of a web
page in the browser.

One of the difficult parts of these modifications was to
find a way to ensure that the MathAction website would send
only valid XHTML to the browser in spite of the fact that
users are free to edit the wiki pages and their edits may
not always produce properly formatted XHTML. When MathML
is also used with XHTML conformance to the XML standard is
even more important. And it is also necessary to properly
identify the content type to the browser so the browser
will do the necessary post processing.

The approach that I finally settle on was to incorporate
the 'mxTidy' (Python binding htmlTidy) HTML filter  as the
last step of rendering a page, just before delivering it
to the user. http://www.egenix.com/files/python/mxTidy.html

mxTidy is able to intelligently correct most poorly formed
HTML and XHTML code. It also will generate warnings and error
messages that will be attached as comments to the web page.
These can be used by the page designer to correct formatting
problems.

So far I have been able to test that this works for both
FireFox 1.0.7 and in Explorer 6 with the TechExplorer
add-on. I would be interested to receive reports from
other people about success of failure with their favorite
browser.

Please feel free to experiment with the following example
pages:

http://wiki.axiom-developer.org/ContentMathML

http://wiki.axiom-developer.org/ReduceAndMathML

Your comments and questions on this work would be most
appreciated.

Regards,
Bill Page.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]