Re: Technical reasons for some options taken on design of MathML

Mikko Rantalainen wrote:
> 
> juanrgonzaleza@canonicalscience.com wrote:
>> - What is the reason for
>>    <msup>base <mrow>index1 index2</mrow></msup>
>> instead of
>>    base<sup>index1 index2</sup>
>> or the
>>    base^{index1 index2}
> 
> 
> The reason the last one isn't used is that it doesn't follow the XML way 
> of doing things and (it seems that) W3C has decided to use XML for 
> markup of practically everything.
> 
> I guess the reason the first one of the above XML variants is used is 
> that it makes it perfectly clear which part the superscript is for. 
> Consider the following
> 
>   <mi>a</mi><mi>b</mi><sup><mi>c</mi></sup><mi>d</mi>
> 
> Does that mean "((ab)^c)d" or "a(b^c)d" or something else? Again, if you 
> think that XML is *the* way to go, then these design choices logically 
> follow. "Everything is a tree".

You've certainly hit on the reasoning, particularly, that last phrase
 "Everything is a tree"
but your explanation gives too much importance to XML, IMHO.
The point is that content mathml deals with what you might call
the parse tree, and having the operator in a standard position (the first),
makes life _vastly_ simpler.  XML just happens to be a handy way
to encode trees.

-- 
bruce.miller@nist.gov
http://math.nist.gov/~BMiller/

Received on Thursday, 30 March 2006 14:17:27 UTC