Re: Infix presentation of operators without dedicated tags in MathML

Hi.

> I am using an operator in my MathML content markup which doesn't have a 
> dedicated MathML element (Unicode character 22A2, RIGHT_TACK). I am using 
> the W3C content->presentation stylesheet and Mozilla 1.2 to render it. 
> However, it is rendering it as
> 
> T(a,b)
> 
> instead of
> 
> a T b
> 
> (where T is the operator).
> 
> Now the only portable solution I can see to this in MathML 2.0 is to use 
> parallel presentation markup. But I think this is overcomplicated, 
> especially if I have a heavily nested expression with RIGHT_TACK on the 
> outside. I think it also fundamentally broken, because it means that I would 
> use some stylesheet (say a modified version of the w3c stylesheet mentioned 
> above) to generate the parallel presentation markup for such complicated 
> cases - but this rendering might not precisely match the rendering given by 
> every user agent which can directly read MathML content markup. So parallel 
> content/presentation markup is in principle liable to lead to 
> inconsistent/uneven rendering for the same document - unless you convert it 
> all to presentation markup first, but then you lose the benefits of pure 
> content markup!

I guess I don't follow this.  If you use parallel markup, even a user
agent that *could* read the content markup will use the presentation
markup anyway.  I think you only run the risk of different user agents
rendering it differently if you send some of them the straight content
markup, and others the parallel markup.

> Isn't there, or shouldn't there be, some sort of "CSS equivalent" for 
> MathML, whereby I can say "RIGHT_TICK should be rendered as an infix 
> operator"?

That might work is browsers where there is a CSS environment available
to the MathML (read "only Netscape/Mozilla"), but it leaves out most
other MathML software.  So my inclination would be to stick with an
XSL-based solution.  

But I agree with you in principle.  My initial reaction would be to do
something like

  <csymbol class="infix-operator">&22A2;</csymbol>

and add an XSL template for this case.  Basically it would be a
modification of any of the templates for infix operators, but instead
of looking for a particular element in the first slot of an apply, it
would look for any element with this class attribute in the first slot
of an apply.


--Robert

------------------------------------------------------------------
Dr. Robert Miner                                RobertM@dessci.com
MathML 2.0 Specification Co-editor                    651-223-2883
Design Science, Inc.   "How Science Communicates"   www.dessci.com
------------------------------------------------------------------

Received on Friday, 6 December 2002 11:23:48 UTC