[whatwg] Parsing MathML in HTML5

Hi,

I have noticed that there have been some discussion about MathML in HTML5 on 
some lists and newsgroups, but I'm not subscribed to those (yet).

If I understand it correctly Ian's proposal is to have a list of elements 
that are put in the MathML namespace when parsing. I have a slightly 
different proposal which I'll describe below:

Instead of having a list of elements that are put in the MathML namespace, 
<math> is a sort of namespace- and parsing scoping element so that it and 
all of its descendants are in the MathML namespace, and also that all tags 
inside <math> are parsed as any other <xyz> tags except for start tags for 
empty MathML elements. E.g., <none> inside <math> is an empty element but 
outside it is not; <br> is not an empty element inside <math>.

For setting .innerHTML on MathML elements, "root" would be a new <math> 
instead of a new <html>.

This way existing tags on the web that happen to be the same as MathML tags 
(outside <math>) won't be affected; there's no need to profile MathML to 
HTML; MathML3 can introduce new elements (even with the same names as HTML 
tags if they wanted to) without any need to change the parser (unless they 
introduce new empty elements).

For example, with my proposal this (invalid) text/html document:

   <!doctype html>
   <title>test</title>
   <p>This is not MathML: <mi>x</mi></p>
   <p>The following is MathML:</p>
   <math>
    <mi>x</mi><mo>+</mo><mn>2</mn>
    <p>This is still MathML and <br> is not an empty element</p>
   </math>

...would be equivalent to this XML document:

   <html xmlns="http://www.w3.org/1999/xhtml"><head><title>test</title>
   </head><body><p>This is not MathML: <mi>x</mi></p>
   <p>The following is MathML:</p>
   <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi>x</mi><mo>+</mo><mn>2</mn>
    <p>This is still MathML and <br> is not an empty element</br></p>
   </math></body></html>

Please cc any other lists as appropriate.

Regards,
Simon Pieters

Received on Monday, 9 October 2006 13:14:54 UTC