[Om] Several Newbie Questions

Alberto González Palomo alberto at matracas.org
Mon Jul 5 20:01:10 CEST 2010

"Manuel Schölling" wrote: (05/07/10 19:11)
> Hi,
> I'm new to OpenMath and I have a couple of questions:
> - Is there any nice WYSIWYG editor for OpenMath?
> A java or Qt component would be great.

       The best one according to your requirements is clearly the
Wiris formula editor:


       There are a couple of OpenMath editors written in JavaScript,
but from your request I suspect that that's not what you are looking

       - MathDox formula editor: there is a demo available at:
         The place where you type is the small box with the grey rectangle,
left of the text area where the OpenMath encoding is shown. Try typing
something like "2+3/4" to see what it does.

       - Sentido formula editor (I wrote this one): you can try it at
MathWebSearch, but only if you use the FireFox web browser:
         Regrettably, the search engine itself is not working at the
moment, so you'll get an error message if you submit the query, but
you can see how the editor works. Each time you type something, or
insert something with the palettes, it parses it into OpenMath, and
then uses XSLT to produce the MathML that you see.
         The web page is at: http://matracas.org/sentido/
         I have there a demo of it working with the TinyMCE HTML editor,
but that demo is my current experimental version so it has some issues.

> - Do you think it would be a good idea to use XSLT to process OpenMath.
> I'm thinking of
>   - calculating the weak formulation of an equation
>   - translating OpenMath functions into C/C++ source code
> If not, do you have a better idea?

       Yes, most of the systems that process OpenMath use XSLT.
       For instance my editor Sentido transforms OpenMath to MathML
on the fly using XSLT.
       Some time ago I experimented with using XSLT for algebraic
transformations and wrote a proof-of-concept Computer Algebra System
that works that way:

       It works, but you are probably better off using some other way,
unless you are really comfortable with XSLT.

       One way is to use the Computer Algebra System "Yacas", where I
implemented OpenMath input/output:
In> xmlString := ToString()OMForm(2+3/4)
Out> "<OMOBJ>
     <OMS cd="arith1" name="plus"/>
       <OMS cd="nums1" name="rational"/>
In> FromString(xmlString)OMRead()
Out> 2+3/4
In> Eval(FromString(xmlString)OMRead())
Out> 11/4
       First we get the OM form of "2+3/4", and store it in the variable 
       Then we parse it back into a Yacas expression object.
       Finally we ask Yacas to evaluate that object. It works the same
if you type "Eval(%)" where "%" gets expanded to the previous result.

	Alberto González Palomo
	Toledo, España / Saarbrücken, Deutschland

More information about the Om mailing list