[MathML3-last-call] comments from HTML WG

Following are some general comments about the MathML 3.0 draft from
the HTML WG, particularly as the MathML specification relates to
current effort with HTML5.  First, though, we wish to extend to the
Math WG congratulations for reaching this important milestone.

Related to the addition of the new href attribute[1]:

1. The attribute href has been added for use with several MathML
elements, rather than using xlink:href, from MathML 2.0. However, the
document states that because of compound document requirements,
xlink:href can still be used. This could cause confusion when viewing
the documentation for  MathML as foreign object in HTML5. In the HTML5
specification, if the href attribute is associated with the XLink
namespace, it must be given as xlink:href in the document.

The MathML href attribute is now, by default, associated with the
MathML namespace. But this isn't specifically stated in the document,
and someone reading both may become confused, and assume they have to
use xlink:href with MathML embedded in HTML5. The document may want to
demonstrate how href can be used with embedded MathML in the document
section detailing MathML embedded in HTML.

2. Is the plan to drop support for xlink:href in MathML UAs at some
point? If not, we're curious as to why the Math WG introduced the new
attribute?

3. If the UA supports both, what should happen when both are specified
on one element?

4. We're also curious as to why the new href attribute takes a URI
rather than IRI?


Related to the Chapter 6.4, Combining MathML and Other Formats, and
specific to 6.4.1, Mixing MathML and HTML:

5. The specification includes a section discussing MathML and HTML.
However, the section only references MathML in XHTML. With HTML5,
MathML can be used in HTML, and there are additional constraints on
using MathML in HTML, including the fact that the outer math element
is specified without a prefix (such as m:math, as shown in the
example), though the use of a namespace and prefix can work with
XHTML.

There are other constraints associated with MathML in HTML. Could this
one section be split in two, with one section detailing MathML in
XHTML, and one in HTML?

In particular, HTML allows unquoted attributes, and elements without
closing tags (if such are given in the list of allowed elements
without closing tags). These looser specifications also apply to
foreign
objects such as SVG and MathML (though user agents are encouraged to
provide an export facility providing properly formatted XML). However,
people can paste properly formatted XML into HTML, and it will be supported.

Pasting MathML into HTML does lead to another issue: the use of
namespaced attributes. Namespaced attributes can be included in
MathML, but, currently, the validator does provide a warning for
namespaced attributes in SVG or MathML when embedded in HTML. The same
applies to properly formatted XML entities and attributes that might
be included within the MathML annotation-xml
element.

In addition, there are also, currently, DOM namespace handling
differences associated with MathML pasted into HTML, as compared to
MathML pasted into XHTML.

Both the DOM differences and the validator warnings, in addition to
the syntax differences, such as unquoted attribute values, might be
surprising and confusing to folks who expect properly formatted XML in
HTML.

6. The section contains the following passage:

"To fully integrate MathML into XHTML, it should be possible not only
to embed MathML in XHTML, as described in Section 6.2.1 Recognizing
MathML in XML, but also to embed XHTML in MathML. However, the problem
of supporting XHTML in MathML presents many difficulties. Therefore,
at present, the MathML specification does not allow XHTML elements
within a MathML expression, although this situation may be subject to
change in a future revision of MathML."

What are the difficulties referenced in the document?

In particular, the HTML5 parser supports HTML and SVG in <mi>, <mo>,
<mn>, <ms>, <mtext> and SVG in <annotation-xml>. XHTML and SVG in
MathML in these places works fine in Firefox and Opera today when
using application/xhtml+xml. We're curious as to why MathML doesn't
allow what is, at a minimum, expressible in text/html?


Other, general comments:

7. In the element listing [2] you show an element labeled td, but the
link associated with it leads to a section describing an element
labeled mtd. Possible typo?

8. In the section describing color[3] you reference color names from
HTML4. Is there a reason MathML doesn't use css3-color SVG color
keywords instead of HTML4 color keywords?

9. The index lists two values, my:background and my:color, which are
also demonstrated in the section to which they're linked. These would
seem to be from demonstrations of bringing in color or background from
another namespace. Including them in the index could generate
confusion.

Shelley Powers
HTML WG

[1] http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter2.html#fund.globatt
[2] http://www.w3.org/TR/2009/WD-MathML3-20090924/appendixh.html#index.elem
[3] http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter2.html#type.color

Received on Friday, 6 November 2009 15:18:39 UTC