MathML is a
markup language for displaying
mathematics and
mathematical content with a
web browser.
The problem that MathML tries to solve,
is that the definition of HTML does not include very sophisticated mathematics
markup and image rendering commands for browsers. There are some
small ones, for example <sub> for subscripts and
<sup> for superscripts, as well as a few Greek
letters and some math symbols. But in the main, not all browsers
properly display these symbols, and even so, they are insufficient for
anything but very rudimentary math.
x2 + y2 = z2
But in more complicated mathematical sentences, the HTML
writer is left to ascii art:
n
-------
\
1 \
mean = - / x
n / n
-------
i = 0
which states that the
mean
is equal to the sum of
x's from
0
to
n divided by
n.
Or
|^ 1
| x
| e dx
|
|
v 0
Which is the integral of e to the x power, times dx in the range
0 to
1.
All of which is unsightly at best, and quite likely difficult to read
(mathematics can already be difficult enough), and certainly differs
from artist to artist.
As an example of what MathML looks like, the integral above is rendered by
this MathML:
<mrow>
<msubsup>
<mo> ∫ </mo>
<mn> 0 </mn>
<mn> 1 </mn>
</msubsup>
<mrow>
<msup>
<mi> ⅇ </mi>
<mi> x </mi>
</msup>
<mo> ⁢ </mo>
<mrow>
<mo> ⅆ </mo>
<mi> x </mi>
</mrow>
</mrow>
</mrow>
Which may not be so pretty here, but will look a lot better than that
little picture of the integral drawn above.