User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a6) Gecko/20041219
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a6) Gecko/20041219
Mozilla fails to render MathML-Content Markup, it should be implemented.
Steps to Reproduce:
Open this simple test-file:
<?xml version="1.0" ?>
Just "1 2" is displayed, as if all tags were ignored.
Something like "1+2" should be displayed, as the testfile says "the sum of the
two numbers 1 and 2".
Although the Parallel Markup-example in the W3C-Recommendation (2.0) is
displayed correctly in Mozilla, I don't know how (if) Parallel Markup is
recognized and parsed by Mozilla.
I think we should represent all MathML (except Presentation Markup only, which
is currently supported) as Parallel Markup, explicitly as such specified in the
document, or implicitly, with auto-generated Presentation Markup (for Content only).
It shouldn't be a big problem to implement (at least basic) Content
Markup-support by generating default Presentation Markup, which is rendered
then, if Parallel Markup is supported. (If we implement the Content
personally, I like C++ more)
Created attachment 169625 [details]
First of all, we should ensure that there are specific classes for
MathML-elements, to allow, for instance, to implement methods to connect
corresponding Presentation & Content Markup.
The auto-generation of the Presentation part in the Parallel Markup could also
be done by the mathmlc2p-stylesheets. Couldn't it? Implementing Content Markup
should therefore be not a very big problem when once MathML-DOM is present.
The premise of this bug, that Mozilla should render content markup, is incorrect.
Content markup is not supposed to be rendered under any circumstances. With
either parallel or mixed MathML markup, we see the presentation MathML and not
the content MathML.
The danger, really, is that content markup represents the exact value of a
MathML expression, while presentation markup represents how the MathML
expression is rendered. That's the entire purpose of presentation MathML.
Content MathML is for computers. Presentation MathML is for humans.
I think it is a bad idea to define a default presentation for any content
MathML, and recommend WONTFIX for this enhancement.
I think MathML parsers should also be able to render Content Markup only. Of
course, it is there to allow, for example, that a Computer Algebra System is
attached to Mozilla, and that Mozilla can solve equations via Context Menu.
But what would it use to have a XHTML-document with inline Content MathML, if
one the one hand the human couldn't see the Math, and on the other hand, the
computer couldn't understand the text written in XHTML? I see Content Markup as
some sort of more correct MathML: You don't specify how something is to be
rendered, but what it means (as if you wrote a poem in XHTML with <l> elements
instead of <br>), but written for computers AND humans, too. See section 5.4 of
MathML 2.0 Recommendation.
Of course, the Content Markup should be kept, but I think we should provide
default Presentation Markup for Content Markup only.
FYI, here is the repository of David Carlisle's converter, from presentation MathML to content MathML:
Would it be a good idea / possible to implement conversion from content to presentation MathML using XBL?
Created attachment 678255 [details]
MathML ctop addon
FYI, I've written a restartless add-on to render content MathML, based on David Carlisle's ctop stylesheet. I plan to submit it to AMO.
(In reply to Frédéric Wang (:fredw) from comment #8)
> Would it be a good idea / possible to implement conversion from content to
> presentation MathML using XBL?
I looked at that a _long_ time ago, I think it would be possible to do something if it would be useful but as an outsider I got lost in the various flavours of (s)xbl(1/2) I assume things are now more stable and it's clear to a mozilla insider what facilities are available?
> (In reply to Frédéric Wang (:fredw) from comment #8)
> > Would it be a good idea / possible to implement conversion from content to
> > presentation MathML using XBL?
> I looked at that a _long_ time ago, I think it would be possible to do
> something if it would be useful but as an outsider I got lost in the various
> flavours of (s)xbl(1/2) I assume things are now more stable and it's clear
> to a mozilla insider what facilities are available?
I'm not really sure about that. The last update I saw was
but I have not seen any progress on bug 374737.