- From: Robert Miner <rminer@geomtech.com>
- Date: Tue, 12 Jan 1999 14:34:35 -0600
- To: alvarez@zib.de
- CC: www-math@w3.org
Dear Luis, I was just checking out your MathML interface to REDUCE. Thanks for all the work you've put into supporting MathML, and congratulations! I have noticed a number of small problems with it, however, that keep many examples from properly displaying. I caught some by hand, but mostly I am using WebEQ/e-Lite to check them. Though I am willing to be corrected, WebEQ/e-Lite is still the only piece of software I know that really has full MathML 1.0 support, including rendering of content markup. Here are the problems that came up doing some spot checks (I don't know REDUCE well at all, so I haven't tried anything very sophisticated.) 1. You seem to be generating <relation> ... </relation> tags instead of <reln> ... </reln>. For example, tay(x*sin(x),x,5); returns <math> <relation><eq/> <apply><plus/> <ci>x</ci> <cn type="integer">6</cn> </apply> <apply><plus/> <apply><fn><ci>y</ci></fn> <ci>x</ci> </apply> <ci>y</ci> </apply> </relation> </math> 2. It appears that <divide/> is being output without the slash in some cases. For example, pf(2/((x+1)^2*(x+2)),x); returns <math> <list> <apply><divide> <cn type="integer">2</cn> <apply><plus/> <ci>x</ci> <cn type="integer">2</cn> </apply> </apply> <apply><divide> <apply><minus/> ***** <cn type="integer">2</cn> </apply> <apply><plus/> <ci>x</ci> <cn type="integer">1</cn> </apply> </apply> <apply><divide> <cn type="integer">2</cn> <apply><plus/> <apply><power/> <ci>x</ci> <cn type="integer">2</cn> </apply> <apply><times/> <cn type="integer">2</cn> <ci>x</ci> </apply> <cn type="integer">1</cn> </apply> </apply> </list> </math> 3. The previous example also points out another problem, though in this case it isn't clear to me if the culprit is your code, WebEQ, or the MathML spec. I am inclined to blame the spec. The problem is that the <minus/> element indicated by the ***** above is followed by a single child. WebEQ throws an error, based on the fact that </minus> is listed in section 4.2.3 of the spec as a binary operator. Oops. Where does that leave the unary minus operator. As far as I can tell, it isn't there... 4. Another interesting problem arises in the following example: m:=mat((1,x),(2,y)); returns <math> <declare> <ci>m</ci> <matrix> <matrixrow> <cn type="integer">1</cn> <ci>x</ci> </matrixrow> <matrixrow> <cn type="integer">2</cn> <ci>y</ci> </matrixrow> </matrix> </declare> </math> This is a perfectly good MathML encoding. However, as written, it contains no renderable output. A <declare> element is not required to be directly displayed, as noted in section 4.2.2.8 of the spec, WebEQ doesn't. That's as far as I went for now, but I'll try to do some more testing and let you know what I find. --Robert ---------------------------------------------------------------- Robert Miner http://www.webeq.com Geometry Technologies, Inc. email: rminer@geomtech.com phone: 651-223-2884 ----------------------------------------------------------------
Received on Tuesday, 12 January 1999 15:36:22 UTC