W3C home > Mailing lists > Public > www-math@w3.org > November 2012

Re: Implementation of semantics

From: David Carlisle <davidc@nag.co.uk>
Date: Mon, 05 Nov 2012 00:18:28 +0000
Message-ID: <509705D4.7070500@nag.co.uk>
To: Frédéric WANG <fred.wang@free.fr>
CC: www-math@w3.org
On 04/11/2012 12:54, Frédéric WANG wrote:
> I agree that <semantics> is supposed to be used to annotate the first
> child and so it is weird to "annotate the annotation". However,
> without further restrictions, the first child may be any MathML
> element, including an <annotation>, so syntactically Jacques
> Distler's use case is valid

The text (and the MathML2 DTD) may not be as exact as it could be but I
don't think the spec phrase
" Any MathML expression may appear as the first child "
is the same as saying any MathML element is allowed. There are many
MathML elements that are only usable in restricted contexts and are not,
in themselves, expressions (<mtr> <mtd> <sep/> <none/> <mprescripts/>
for example).

<annotation> and <annotation-xml> fall into this category so are not
MathML expressions or intended to be allowed as first child of semantics.

That said, even though I think it's correct for the MathML3 schema to
declare that usage invalid, I think it's reasonable (and consistent with
html implementation policy generally) for a browser implementation to
keep it working if it worked before.

As I mentioned this is tighter in the MathML3 schema but even in the
MathML2 DTD this was fairly explicit, "MathML Expression" is the markup
that can appear as a child of <math> which in MathML2 DTD was the
parameter entity %MathExpression; which expands to a list of all top
level elements but explicitly excluding annotation-xml and the other
elements listed above.

Received on Monday, 5 November 2012 00:18:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 5 November 2012 00:18:50 GMT