Connexions MathML Editor (in Beta)
Features
It is a WYSIWYG Math Editor that can be used in any webpage that displays a text box. The editor offers:
- A way to create math equations on the web
- Editing Content MathML or Content with Presentation MathML
- Keyboard navigation
- Mouse navigation and selection
- OS Cut/Paste between other instances of the editor or other programs
- Written in Javascript and XSLT
Documentation
Source
The source code can be checked out using SVN from https://software.cnx.rice.edu/svn/rhaptos/packages/Products.MathEditor/Products/trunk/MathEditor/.
Derived Projects
- The collective.matheditor adds an "Edit MathML" button to kupu, an XHTML WYSIWYG editor.

Upcoming/TODO
- Integrate with Google Wave as a Widget to offer editable math inside documents
- Support several text parsing/serializing formats using Sentido's formula editor.
- Support Internet Explorer, Safari, and Chrome using jsMath for rendering.
Technical Details
- The editor works in Mozilla's Firefox web browser because Firefox is able to render MathML natively and allows inserting HTML elements into the presentation math.
- The editor manipulates custom
MathNodeobjects and converts to/from Content MathML nodes. - There are templates for each Content MathML operation (http://www.w3.org/TR/MathML2/chapter4.html).
- Each template contains
mmled:block's that are insertion points for more data. - Then, the Content MathML runs through an XSLT (modified from http://www.w3.org/Math/XSL) to create Presentation MathML with input boxes for the
mmled:block's. - Navigation is accomplished by moving an (almost) invisible input box which represents the cursor.
- Since access to the clipboard is restricted in Firefox, the editor "notices" Cut/Paste operations by changes to content in the input cursor.
- When an input box loses focus, the Content MathML is updated, and re-rendered.
Contact
Created by Philip Schatz under NSF Partnerships for Innovation : Award 0538934

