- From: <juanrgonzaleza@canonicalscience.com>
- Date: Fri, 31 Mar 2006 06:13:32 -0800 (PST)
- To: <www-math@w3.org>

> Mikko Rantalainen wrote: [snip] > > I don't know the "official" reason for these constructs but my guess > is that they follow the logic that <apply> is a function > application. In programming terms one would convert > markup such as > <apply><plus/><cn>5</cn><cn>8</cn></apply> > to a computer program > plus(5,8) > where the "plus" is name of the function to call. Apply always takes > the first child (from DOM tree) as the function to use and rest of > the childs as parameters for that function. > > If you think that everything is a function, then writing "A/2" > really seems like a shorthand notation for divide(A,2). Yes, but what is the technical/conceptual advantage over something like <plus><cn>5</cn><cn>8</cn></plus> as a representation of > plus(5,8) ? In that case you apply the plus function/operation to arguments (tree childs) In fact, I can read in the initial HTML-3 DTD for math things as <SQRT>content</SQRT> The question is, the MathML choice of something like (please note that there is not sqrt operator in MathML, but basis for this question is the same) <apply><sqrt/>Content</apply> over something like <SQRT>content</SQRT> is a pure matter of taste or is there conceptual/technical advantages? It would be a good thing if some author of MathML explains those issues to us. > > - 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. Sorry, I explained badly! I was not referring to the use of TeX syntax (which is not XML and therefore omitted in MathML). I was referring to the fact that *base* is outside of the “sup” tag in both SGML/HTML and TeX. That is, in TeX one does not write things as ^{base}{index1 index2} > 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". I do not agree. The MathML syntax is <msup>base index</msup> if you have something like <msup><mi>a</mi><mi>b</mi><mi>c</mi><mi>d</mi></msup> what mean "((ab)^c)d" or "a(b^c)d" or something else? Also MathML syntax is ambiguous. This is reason that I carefully used an mrow example in my previous post <msup>base <mrow>index1 index2</mrow></msup> Which is not ambiguous. Also, there is not ambiguity with bases outside since ((ab)^c)d is encoded as <mrow><mi>a</mi><mi>b</mi></mrow><sup><mi>c</mi></sup><mi>d</mi> and a(b^c)d is encoded as <mi>a</mi><mrow><mi>b</mi></mrow><sup><mi>c</mi></sup><mi>d</mi> in fact similar constructs already existed in SGML world and i fail to understand why were not reused. Are there technical/conceptual advantages introducing the base into the script node or simply a matter of taste? > -- > Mikko Juan R. Center for CANONICAL |SCIENCE)

Received on Friday, 31 March 2006 14:13:52 UTC