[whatwg] Mathematics in HTML5

Ian Hickson ian at hixie.ch
Fri Jun 2 13:35:20 PDT 2006


On Fri, 2 Jun 2006, White Lynx wrote:
>
> To summarize discussion on mathematics in HTML5, I would like to ask several questions.
> 1) Which markup do you think fits better in the scope of HTML5?
> 	a)
> 		<div>
> 		(X)HTML document may contain math formulae, like
> 		<formula>
> 		ax<sup>2</sup> + bx + c = 0
> 		</formula>
>		</div>

This markup is completely inadequate to represent mathematics. For 
example, it doesn't say whether "ax" is one variable or two.

How would you represent the following equation?

   http://www.w3.org/TR/REC-MathML/images/2_2.gif

It would almost certainly appear in any paper that included the equation 
you mention above, so it's important that we support that.

Or how about:

   http://scienceworld.wolfram.com/physics/simg297.gif

...or:

   http://scienceworld.wolfram.com/physics/bimg179.gif

These are examples of equations that are on a very popular site _today_, 
so any solution to integrating maths into HTML5 must absolutely be able 
to cope with these cases.

Consider that it must be possible to render this both to visual media *and 
to non-visual media* without loss information, both in CSS-capable 
browsers *and browsers that don't support CSS at all*. This means, for 
example, that it is important to 

In HTML5 we have other options, too. For example, we could define a 
special parsing mode wherein any stream of numeric characters (separated 
by whitespace) implies an <mn> element, any stream of punctuation 
characters implies an <mo> element, etc, such that your example above 
could end up looking like this in the source:

   <math>
     <mrow>a &#x2062; <msup>x 2</msup></mrow> +
       <mrow>b &#x2062; x</mrow> + c = 0
   </math>

...with the DOM being the full MathML representation (namespaces, DOM, and 
everything), with all the implications that has (full mathematical 
typography, compatibility with an existing language, its renderers, and 
its content, unambiguous interpretation, etc).

(For those of you new to MathML, &#x2062; is the "implicit multiplication" 
operator. Maybe we could imply one of between pairs of terms in <mrow>s 
that don't have any <mo>s.)

What we need, to move forwards on this, would be a full proposal for what 
you want added to HTML5. Currently this thread seems mostly to be along 
the lines of "we should add maths, but we shouldn't make it hard".

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



More information about the whatwg mailing list