Math WG comments on http://www.w3.org/TR/2006/WD-InkML-20061023/

Multimodal Interaction Working Group, 

The following are the Math WG comments on the current InkML draft, the
comments are restricted to XML and specifically MathML issues, rather
than the InkML language itself.



It was rather surprising to see no formal specification of the InkML
markup (No DTD, XSD or Relax NG schema). We had expected that mainly to
be commenting on how (a subset of) mathml was integrated into the
schema, and whether any additional hooks in the mathml schema would help
that integration.  This plan fell at the first hurdle as there appears
to be only a prose text description of the grammar.


MathML is apparently usable in two places in InkML

1: MathML in mappings
=====================

a subset of content mathml is "built in" to the mapping element if
used with type="mathml" (or at least I guess that is the intention)

the spec says
type = "identity" | "lookup" | "affine" | "mathml" | "product" |
"unknown"
Contents
(bind* (table | matrix | mathml:math)?) | mapping *

So it appears that  identity="mathml" is required for content of
mathml:math and that mathml:math refers to
{http://www.w3.org/1998/Math/MathML}math
but the spec doesn't actually say this (and the schema doesn't exist:-)

There is a (presumably non normative) example which does mention the
mathml namespace but it is

<mapping type="mathml" m:xmlns="http://www.w3.org/1998/Math/MathML">
    <bind source="R" variable="r"/>
    <bind source="OTh" variable="theta"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML">


m:xmlns is presumably a typo for xmlns:m but that in fact the whole
attribute can be deleted as no m: prefix is actually used, and the
mathml namespace is introduced again on the math element.

Also <times> should be <times/> (twice) in the example mathml mapping.


A subset of mathml is given by listing the allowed elements but no
schema is given for the restricted grammar. There should be, especially
as this isn't an entirely trivial restriction of the mathml schema to
the specified elements as there are extra conditions, eg <list>
restricted to top level.


The example of mathml in the <bind> element description again has a typo
in the namespace declaration

  <mapping xml:id="m06" type="mathml">
      <bind type="setvar" target="X" variable="Q" />
      <math mlns=" http://www.w3.org/1998/Math/MathML ">
            ^^^ missing x





2: MathML in annotations
========================

The other use of Mathml is in annotationXML where (apparently) use of
arbitrary, unrestricted MathML is allowed. (although as with
annotationxml in mathml, a InkML processor needn't understand the
annotation)


Perhaps it should (or at least could) be clarified  that when "mathml"
is given as an example of a possible xml annotation, that it means all
of mathml, rather than the mathml restricted subset that is allowed in
the mapping element. The reason for highlighting the difference is that
while it's easy (or even perhaps obvious) how to say that in English,
some care would need to be taken in a schema definition to allow a
specific subset of mathml in one element but simultaneously to allow all
mathml as part of "any foreign namespace" in annotation XML.


David Carlisle (for the Math WG) 

Received on Thursday, 14 December 2006 17:34:02 UTC