Next: The Intermediate Representation
Up: System architecture
Previous: System architecture
  Contents
Each of these modules has several requirements to respect. These requirements ensure the system is efficient and behaves satisfactorily.
(Here
IR stands for intermediate representation)
- MathML to IR:
- This module parses through MathML and generates an equivalent expression in the intermediate representation. It should ensure
that the input given is not lexically or syntactically incorrect. In which case the translation process is aborted. Incorrect or unimportant
attribute values should be ignored unless they compromise the translation process. Both MathML 1.0 and MathML 2.0 expressions must be accepted as
valid and parsed. It should be designed so any modification in MathML can be easily adapted to.
- IR to MathML:
- This module generates valid MathML from the intermediate representation of an expression. The user should have the option to
generate either MathML 2.0 or MathML 1.0 since most applications today are only MathML 1.0 compliant . In order to embed MathML into a web page for
rendering by a plug-in, there should also be an option outputting the MathML inside HTML
<embed>
tags.
- OpenMath to IR:
- This module reads in OpenMath expressions and transforms them into the intermediate representation. It should ensure that
the input given is not lexically or syntactically incorrect. In which case the translation process is aborted. Symbols must be checked to see if
they have a MathML equivalent. This means checking each symbol against the CD it belongs to and then looking up in a table to see whether a mapping
is possible. If there is no equivalent, this module must encode the OpenMath symbol into the intermediate representation as an unknown symbol for
inclusion in MathML
<semantic>
tags.
- IR to OpenMath:
- This module generates valid OpenMath from the intermediate representation. It is important that all symbols generated appear
next to the correct CD to which they belong. This is done by consulting a table containing this information.
Because it is important to specify which OpenMath CDs an application handles, Appendix A gives a comprehensive list of all the OpenMath CDs and
elements which are supported by the translator.
Next: The Intermediate Representation
Up: System architecture
Previous: System architecture
  Contents
root
2000-05-01