MathML in ZedNext
This page includes a number of issues which should be discussed in ZedNext. Some issues do not necessarily require a solution. Also, some topics may concern Deployment more than Authoring and Interchange but should be considered during the current ZedAI work.
The current MathML-in-DAISY modular extension to DAISY 3 uses MathML 2. This extension, while quite effective, has a number of issues which should be addressed in ZedNext.
In addition, MathML is being revised by the W3C. The next version, MathML 3, is in its fourth draft and is expected to be finalized in early 2010.
Major Discussion Topics
- Which version of MathML should be used?
- What are the issues with the current MathML-in-DAISY extension and how should they be addressed?
- No support for MathML in headings and page numbers.
- Cannot include structure in math alttext, such as speech mark-up.MathML.
- Can we simplify inclusion on MathML, particularly for inline math?
- Should we use Content MathML instead of Presentational? Should we support both?
- How should MathML interact with XForms?
MathML 2 or 3?
Since MathML 3 is due in early 2010, we probably want to use it instead of MathML 2 in ZedNext.
MathML in Headings and Page Numbers
A number of books and journal articles use math in headings. Much less frequently, math is used in page numbers.
In DAISY 3, the book text (i.e., the text in the dtbook file) that comprises the heading and page number also appears in the ncx file as navigation labels. Other items, such as figure or table titles may also appear in the ncx.
The MathML-in-DAISY extension for DAISY 3 only specifies how to include MathML in the dtbook file. It does not discuss how to include MathML in the ncx file.
Cannot Include Structure in Alttext
In DAISY 3, the math element requires alttext and altimg attributes. The value of the alttext attribute provides a short description of the math expression. This may be used by fallback presentation as a description of the altimg, which is an image of the math. The alttext may also be used in advanced MathML playback. In either case, the alttext is typically rendered by a TTS engine. It may also be sent to a refreshable braille display.
TTS engines are very likely to mispronounce such technical material as math. This is especially problematic because consumers of math expect it to be very exact. For example, a variable named "a" may be pronounced as "uh", which may be proper in the context of literary text but certainly not for math.
Workarounds, such as replacing "a" with "ay", are not suitable if the alttext is sent to a braille display.
Simplification of Inline Math
In many cases very simple inline math such as a single variable "x" or a symbol "π" should be marked-up as MathML. However, this incurs a lot of overhead. For example, an image and text for fallback must be provided. Perhaps a very simple representation of math, one not using MathML, could be used. This is particularly appealing when Unicode is sufficient to represent the math.
Content vs. Presentational MathML
MathML includes two varieties, Presentational and Content. MathML-in-DAISY 3 requires Presentational MathML but can support "parallel mark-up" where both formats are given.
Content MathML, which communicates the semantics of math, is generally considered more useful for print-disabled readers. However Presentational, which communicates the appearence of math, more directly maps to braille representations.
The formats can be transformed from one into the other. However, depending on the mark-up, converting Presentational to Content may be problematic. For example, tokens such as "sin" may not be properly designated as functions in Presentational MathML and so they may be converted improperly to Content MathML.
Should MathML in ZedNext require both forms?
MathML in XForms
Say that a student has a math workbook or is doing math homework. Presumably the student is interacting with a DAISY book that includes XForms. How does the student enter math into their book? Should there be a mechanism for including MathML mark-up in XForms?
Do we support XML Entity definitions for Characters?
Do we want to subset the MathML3 schema in any way?
For example, there is a module of deprecated constructs.
Major Discussion Answers
(notes taken during discussion between Dennis, George and Markus)
- MathML 2 or 3?
- Decision to aim for MathML 3.0. One of the benefits is that it includes simplifications for elementary math.
- MathML in Headings and Page Numbers
- Where in the core grammar content model MathML is included is defined by each profile.
- Cannot Include Structure in Alttext
- We do not need to use alttext in ZedAI, can make use of DISELECT instead
- Simplification of Inline Math
- We could have a role of math to use in those cases where real MathML is too cumbersome: <x2:span role="math">πγ</x2:span>
- Content vs. Presentational MathML
- Decision to allow both
- MathML in XForms
- Technically it is not a problem to have features contribute to eachother...
- Do we support XML Entity definitions for Characters?
- Yes, we should, especially if going for the Simplification of Inline Math proposal
- Do we want to subset the MathML3 schema in any way?
- Perhaps we could drop the deprecated module.