Re: MathML3 specification is inconsistent about qualifier content of non-strict constructors

On 20/03/2012 02:34, Andrew Miller wrote:
> Hi all,
>
> In most of the MathML 3 specification, the content model is described
> using the 'content' field, and if qualifiers are allowed in the content,
> this is mentioned in the 'Content' row of the table.
>
> Throughout most of the specification, mentioning something in the
> 'Qualifiers' row for an element doesn't imply that the qualifier can be
> a child element of that element, and instead implies that the qualifier
> is used with the parent apply element - this is explicitly stated in the
> last paragraph of 4.1.5.
>
> However, when constructor elements are defined (for example, in section
> 4.4.5.1), qualifiers are listed in the Qualifier row, but not in the
> Content row. The examples (and the 'Parsing MathML' appendix, and the
> transformation rule in 4.3.4.2.2), however, contradict the lack of the
> qualifiers in the element content, so it seems that the omission of the
> qualifiers from the 'Content' rows of the constructors must have been
> accidental.
>
> Best wishes,
> Andrew



I think the tables are OK, but perhaps we should just explain them better.

If viewed through OpenMath (or Strict Content MathML) eyes

<set>...</set>

is just syntactic sugar for

<apply><csymbol>setconstructor</csymbol>....</apply>

as part of that syntactic re-arrangement qualifier elements that would
have been in the apply are placed directly in the container.

So, I think it is consistent (or at least it was intentional) to use the
"Qualifier" row to describe qualifiers that can be used with the
containers, even though in the non-strict form they appear in the content.

I agree that last para of 4.1.5 could perhaps be clearer in calling out 
the different usage of qualifiers with container elements. It dpes 
however reference 4.3.3 which says

Qualifier elements are always used in conjunction with operator or 
container elements. Their meaning is idiomatic, and depends on the 
context in which they are used. When used with an operator, qualifiers 
always follow the operator and precede any arguments that are present.



Hopefully that makes things clearer

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Received on Friday, 23 March 2012 13:34:38 UTC