- From: Bruce Miller <bruce.miller@nist.gov>
- Date: Thu, 26 Jun 2014 08:39:09 -0400
- To: www-math@w3.org
On 06/25/2014 08:36 PM, William F Hammond wrote: > David Carlisle <davidc@nag.co.uk> writes: > >> On 24/06/2014 15:56, Grégory Pakosz wrote: >>> . . . >>> >>> 2) Despite being XML, <mstack> relies on children order >>> instead of named elements like <dividend>, <divisor>, >>> <quotient>. What's the rationale behind this choice? >> >> Positional children are used quite a lot in the mathml >> design: mfrac msub etc also do not have named arguments. > > Two possible rationales many years ago when child position was > introduced into presentation MathML might have been (a) less for > authors to write and (b) smaller file size. > (As I recall, the introduction of child position pre-dated > David's joining the group.) I'm sure it did; but my impression is that element position being significant has always been a common approach in SGML, XML... Much like positional versus keyword arguments to functions & procedures in programming, each have their place. > Anyway, with hindsight it seems clear to me that named > children for mfrac, msub, ..., mstack would have been better > because it would have made a bit less work for rendering engines > and processors. Or at least CSS.... That's the only context where I've noticed complaints about positional elements. Given that MathML & CSS were being invented in roughly the same time frame --- and probably with little idea initially that CSS might be used to render MathML --- it's not surprising that some of each's core design decisions weren't synchronized. One could as easily imagine CSS making it easy to deal with positional elements, as imagine MathML not using them. > It would cause much harm now to throw out child position, > but I think it would make sense for each of the presentation > elements using child position -- certainly mfrac, msub, > msup, and msubsup, probably also mmultiscripts, maybe others > I haven't thought about carefully -- to provide alternate > content models using named children that are essentially > mrows with use restricted to the respective parents. Personally, I find those elements to be quite natural, except for the markers used in mmultiscripts. But, whatever the merits, it's too late now. bruce
Received on Thursday, 26 June 2014 12:39:50 UTC