WD-MathML 3 Implementation and Interoperability 20010220
This version: | http://www.w3.org/Math/iandi/mml3-impl-interop20090520.html |
Latest version: | http://www.w3.org/Math/iandi/ |
Previous version: | None |
Editor: | Patrick Ion (MR / AMS) <ion@ams.org> |
Copyright ©2009 W3C^{®} (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This is a draft report on implementation experience and interoperability issues arising from the development of MathML 3. It is was part of the submission by the W3C Math Working Group to the W3C requesting advancement toward Recommendation status for the MathML 3 specification. The previous document similar to this dealt with implementation and interoperabilty issues arising from Mathml 2.0 and was part of the submission by the W3C Math Working Group to the W3C requesting Proposed Recommendation status for the MathML 2 specification. Its first draft was prepared in connection with the request for Candidate Recommendation status for MathML 2. The math WG maintains a list of documents dealing with such implementation and interoperabilty issues for MathML versions. This is a W3C document for public distribution.
As the long process of development of MathML 3.0 as a revision to MathML 2.0 (Second edition) draws to a close, a number of implementation efforts using the newer MathML have been started. Interoperability issues have been addressed as a result of this activity. The document gives a report on the known implementation activities and relates their experience to the criteria which were set out as the requirements of the Candidate Review period for MathML 3.
1 Introduction
2 Candidate Recommendation (CR) Review Exit Criteria
2.1 Implementation Requirements
2.2 Interoperability Requirements
3 Projects involving MathML in progress
4 List of Realizations of CR Exit Criteria
5 Statements about Implementations
5.1
Supporting Statements from Developers
5.1.1 Amaya
5.1.2 Design Science
5.1.3 IBM
5.1.4 Internet Math Consortium
5.1.5 MacKichan
5.1.6 MathSoft
5.1.7 Stilo
5.1.8 University of Bologna
5.1.9 WMI (Waterloo Maple Inc.)
5.1.10 WRI (Wolfram Research Inc.)
5.2 Supporting Statements from other W3C Members
5.2.1 Boeing
5.2.2 Microsoft
5.3 Reports from Public Efforts
5.3.1 OpenMath
5.3.2 TeX
5.3.3 ORCCA
5.3.4 EzMath
5.3.5 Mozilla
5.3.6 INRIA Rhone-Alpes
5.3.7 REDUCE
There are a good number of software developments that have begun to make use of MathML. During the Candidate Recommendation review period the Math WG will receive formal reports on ease or difficulties of implementations, especially in regard to new features introduced with MathML 3, from many of these efforts. There are several pairings of organizations mentioned below who have joint ventures using MathML for the interoperability it affords.
MathML has two obvious parts that are both countervailing and cooperative. They are mark-up for Presentation and mark-up for mathematical Content. The Presentation mark-up (Chapter 3) uses more than thirty elements, and Content (Chapter 4) over one hundred and fifty. It is readily possible to undertake an implementation, especially a first one, using MathML that concentrates on one type of mark-up or the other. Then there are input and output considerations, display and editing aspects, and so on. There is a further discussion of compliance issues in the Compliance Document that the Math WG has prepared.
The present document pays special attention to current implementations using the MathML 3 specification as they relate to the Candidate Recommendation review exit criteria given below in Section 2. We believe that all the criteria will be met or exceeded, and that MathML 3 will indeed be ready for release as a specification. Our position is suppported by the detail provided in the following sections.
At the start of a Candidate Recommendation review period, it should be held that MathML would be ready to exit the Candidate Recommendation period when its readiness for wider deployment has been demonstrated by
the existence of
and the provision of
CAVE: THE DETAILS BELOW ARE STILL PLACEHOLDERS since they have been taken over unaltered from the final version of this docuemnt offered for MathML 2.
The links from the initial key phrases in the items listed below are to sources of further information such as company, product or project home pages.
The following list correlates the Candidate Recommendation Exit Criteria with the implementations that address them. The links are to the corresponding report text in the Section 5.:
xmltex
This document describes the implementation of MathML 2.0 in version 4.2 of Amaya which is expected to be released in binary form on 21 December 2000. Even if that version is not available publicly in binary form at the time of writing, all features mentioned in this document are already implemented and can be checked out from the CVS base.
The reference version of the MathML 2.0 specification is described in the MathML 2.0 Candidate Recommendation.
Amaya is both a browser and an authoring tool, both features being integrated seamlessly. It can then display and print mathematical expressions contained in documents fetched from Web servers or stored on local files. It can also create and edit mathematical expressions, in isolation or within documents. Finally it can save these expressions and documents either locally or on remote Web servers.
Amaya 4.2 implements the Presentation Markup from MathML 2.0. All elements and attributes defined in Chapter 3 are implemented. More precisely, all these elements and attributes:
However, there are some restrictions:
ms
, mspace
, mstyle
,
merror
, mpadded
,
mphantom
, mglyph
,
mlabeledtr
, malignmark
,
maligngroup
, maction
). WYSIWYG
editing is not available for those elements, but all
attributes can be manipulated through dialogue boxes, without
typing any markup in the source view.
alttext
,
mathvariant
, mathsize
,
mathcolor
, mathbackground
,
fontsize
, fontweight
,
fontstyle
, fontfamily
,
color
, linethickness
,
numalign
, denomalign
,
bevelled
, notation
,
lquote
, rquote
, lspace
,
rspace
, subscriptshift
,
superscriptshift
, form
,
width
, height
(mspace
only), depth
(mspace
only)).
 &IndentingNewLine;
⁠ &GoodBreak; &BadBreak;
) are not
interpreted.malignmark
and maligngroup
).Chapter 4 is not implemented at all. Chapter 5 (Combining Presentation and Content Markup) is not implemented either, as there is only one kind of markup.
The current version of Amaya does not handle the Unicode, but only 8-bit characters, namely ISO-Latin 1 and the Adobe Symbol font. Full support of the Unicode is scheduled for the next major release. This imposes limitations on the characters and entities that are supported. Amaya 4.2 displays only the Symbol and ISO-Latin 1 characters, but characters coded as numeric references or entity references are accepted in the input file, they are preserved in the internal representation, and are saved under the same form in the output file. If they are not part of the two supported character sets, they are displayed and printed under the form of a question mark.
Only 4 fonts are currently supported by Amaya: Times,
Helvetica, Courier, Symbol. Some values of the
mathvariant
attributes can't then be rendered:
script
, double-struck
,
fraktur
.
Both the browsing and editing functions of Amaya can handle MathML expressions either in isolation or embedded in a document. This document may be XHTML or SVG. MathML expressions can also be embedded in SVG drawings which in turn are embedded in XHTML pages. This is achieved through the Namespace mechanism which is fully supported.
The top level math
element is implemented,
with all its attributes, although display
and
overflow
are not interpreted.
Simple links from XLink are supported. Amaya allows the user to easily create (point and click) or follow such links associated with any element within a MathML expression.
CSS is also supported, on the screen and on paper. Implementation of CSS1 is not complete yet, but most properties that make sense for mathematics are available. A WYSIWYG interface allows the user to create modify or delete style properties and to build style sheets conveniently.
Amaya does not support scripting. It does not support the DOM either.
Vincent Quint, Irène Vatton, W3C
December 8, 2000
Design Science makes several equation editors, applets for dynamic MathML display, and some processing tools for converting to and from MathML and a variety of other formats. The MathType Equation Editor and the WebEQ suite of tools for dynamic math on the web are our most widely known products.
To our knowledge, Design Science has the oldest and broadest lines of commercial MathML-enabled products. Our existing products generate MathML 1.01 presentation markup, and display and process both presentation and content MathML 1.01 markup.
We are in the midst of upgrading our MathML support to version 2.0. Much of this work has been completed and is in alpha or beta testing. We anticipate incorporating MathML 2.0 support in next commercial releases of our products. In particular, we have already implemented display of almost all of MathML 2.0 presentation and content markup, and successfully tested interoperability of our code with similar development efforts at Waterloo Maple. We have also implemented generation of MathML 2.0 content markup in one of our equations editors, and generation of MathML 2.0 presentation markup in two of our equation editors. These implementations are both MathML 2.0-compliant, although they are not full implementations in the sense that they do not yet exercise all MathML 2.0 constructs. WebEQ has been used extensively in preparing the MathML 2.0 test suite, and though work on that is still ongoing, we believe it is safe to say WebEQ will accept all tests in the suite in our next commercial release.
In short, work on MathML 2.0 implementation is well underway internally, and full MathML 2.0 support is anticipated in our future releases. At this time, we see no important obstacles to MathML 2.0 implementation and interoperability, save the availability of fonts for some obscure math characters.
Robert Miner (Design Science Inc.)
http://www.mathtype.com
iMath - Internet Math Consortium - works in partnership with educational and commercial organizations to enhance math education and math applications, by enabling the Internet with open math communication, computation and visualization. iMath Communicator is a Web editor/browser which supports math (MathML), derived in part from Amaya. Designed to be simple, but powerful, iMath's target userbase is students and educators from elementary to university level.
iMath has uniquely integrated a MathML compliant Web editor/browser with the instructional services required to support open math learning.
The implementation of MathML 2.0 in iMath Communicator is that provided by Amaya. The iMath developer community congratulates the Amaya Team on its support for MathML 2.0.
Dr. Stephen M. Hunt, Director
steve@imath.org
Internet Math Consortium
IBM techexplorer
is a cross-platform (Windows, Mac,
Linux, AIX, Solaris, SGI) plug-in for Navigator and Internet Explorer
and an ActiveX control for applications like Microsoft PowerPoint and
Word. techexplorer
enables the display of MathML
documents and the publishing of interactive scientific material on the
Web.
The IBM techexplorer
Hypermedia Browser has included
support for the Mathematical Markup Language (MathML) since early
versions of the MathML 1.0 working draft. Our currently released
product (IBM
techexplorer
Version 3.0) supports most of the MathML
1.01 content and presentation tags, as well as providing C++ and Java
access to the W3C Document Object Model (DOM) Level 1 APIs.
In October 2000, we announced support for the Wolfram Research Inc. Mathematica product whereby users can experience live Web-based interactive mathematics. MathML and the Document Object Model APIs are extensively used in this solution.
We also announced support for several MathSoft, Inc products. The soon to be released MathCAD 2001 will provide import/export capabilities where techexplorer-ready HTML/MathML documents can be displayed by a standard browser and techexplorer, as well as edited by MathCAD.
Our imminent version 3.1 will include MathML 2.0 presentation, content tags, attributes and DOM APIs and include full support for MathML using Internet Explorer Behaviors.
Angel Diaz
Manager, XML/XSL Transformational Systems
IBM T. J. Watson Research Center
MacKichan Software, Inc. is the creator of a family of products - Scientific NoteBook, Scientific Word, and Scientific WorkPlace - which are used to create and edit scientific and mathematical documents.
We have implemented the facility to export the mathematical content of our documents as Presentation MathML. This will be available in a forthcoming release of our products.
Our native data storage form is essentially LaTeX, and thus we can also speak to the issue of translating existing LaTeX documents to MathML. We have found that MathML 2.0 is indeed rich enough to capture the great majority of mathematical content. In fact, even Presentation MathML can encode mathematical structure significantly better than LaTeX typically does, and most of the markup required for correctly typesetting mathematics can be encoded. We have put hundreds of documents through this translation, and the results have been quite good.
We feel that the MathML 2.0 Recommendation, and MathML generally, represents a necessary and important step towards the future of technical documents. We have plans to implement much more of MathML 2.0 in the future, both on the rendering front and in the area of using Content MathML to communicate with computational engines, and we believe that all of this holds a great deal of promise. The Recommendation itself is very clear and well written.
Barry MacKichan - President, MacKichan
Software, Inc.
600 Ericksen Ave. NE, Suite
300
Bainbridge Island, WA 98110
barry@mackichan.com
Mathcad 2001 uses content MathML as a format for serializing its internal representation of mathematical expressions, and presentation MathML as a format for communicating with IBM's techexplorer browser. techexplorer is responsible for all rendering. Hence, Mathcad's implementation deals entirely with emitting and parsing MathML.
Internally, Mathcad stores expressions as trees. Since XML documents posses a natural tree structure, this representation holds a great deal of promise. The Recommendation itself isamenable to direct, recursive descent translation into content MathML. For example, the expression "(f x y)" (written in prefix notation) is represented as a tree with root node "f" and child nodes "x" and "y". This very naturally becomes
<apply> <ci>f</ci> <ci>x</ci> <ci>y</ci> </apply>
in content MathML, and the reverse translation (i.e. parsing) is similarly straightforward.
Presentation MathML deals with the visual display of expressions, and the translation is not so straightforward. A recursive descent approach is still feasible, but the translation of a given node will depend on its internal details and, possibly, those of its children. For example, "(f x y)", "(-plus x y)" and "(-sequence x y)" will all receive different translations:
* "(f x y)" is translated as a simple function call:
<mrow> <mi>f</mi> <mo>⁡</mo> <mfenced> <mi>x</mi> <mi>y</mi> </mfenced> </mrow>
* "(-plus x y)" is translated into infix notation:
<mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow>
* "(-sequence x y)" is an instance of Mathcad's sequencing operator (similar to LISP's "progn"). The desired visual representation is a vertical bar with the sequenced statements listed to its right. The appropriate presentation MathML turns out to be:
<mrow> <mo>|</mo> <mtable columnalign='left'> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> </mtable> </mrow>
Most of the presentation elements in sections 3.2 through 3.5 of the MathML specification (version 1.01) were useful when attempting to translate Mathcad's various constructs. No attempt was made at parsing presentation MathML, though this is under consideration as a future enhancement. Further efforts will also be devoted to improving the fidelity of presentation MathML output where corresponding support exists in the rendering engine.
Terry Rochford
MathSoft, Inc.
Stilo Technology makes a number of XML document editors, DTD and schema prototyping and creation tools, and carries out XML and Information Engineering consultancy. In the context of the ESPRIT OpenMath project, we have developed technology for the creation and editing of mathematical expressions and web pages containing mathematics. This technology, knowns as STARS during its development, will be commercialised as Stilo MathWriter.
MathWriter relies on taking a simple, linear input syntax and transforming it into a nested structure of operators and operands which can in turn be transformed into MathML or OpenMath (a MathML-compatible XML syntax for semantically rich mathematical objects). In this way, it also provides a translation mechanism between MathML and OpenMath expressions. The input language is based on TeX and ideas of 'natural' language mathematics input.
MathWriter uses the well-known WebEQ applet from Design Science Inc. as a rendering engine. MathWriter also possesses a simple evaluation engine for evaluating and simplifying mathematical expressions.
Owing to its background in semantic processing of mathematics, MathWriter is content-focussed, but it can be extended to use presentation constructs also where no content MathML element exists for the construct in question.
We have implemented all of MathML1 content and the OpenMath Core, together with some additional support for formal theorem-proving systems. We are currently in the process of extending the input language to support the additional elements in MathML2.0. We foresee no major barriers to MathML 2.0 implementation in the content area.
Stephen Buswell
Notes:
ESPRIT is the IT research programme of the
Commission of the European Union. OpenMath is Project EP24969.
Stilo Technology Ltd is a division of Stilo International
plc. More information is on http://www.stilo.com.
HELM (Hypertextual Electronic Library of Mathematics) is a project being developed at the Computer Science department of the University of Bologna. The project is meant to integrate the current tools for the automation of formal reasoning and the mechanization of mathematics (proof assistants and logical frameworks) with the most recent technologies for the development of web applications and electronic publishing, eventually passing through the Extensible Markup Language. The final aim is the development of a suitable technology for the creation and maintenance of a virtual, distributed, hypertextual library of formal mathematical knowledge.
The broad goal of the project goes far beyond the trivial suggestion to adopt XML as a neutral specification language for the "compiled" versions of the libraries, or even the observation that in this way we could take advantage of a lot of functionalities on XML-documents already offered by standard commercial tools.
Once in the realm of XML, MathML proved to be the most natural choice as the suitable language for rendering and communication purposes. In particular, we adopted the Candidate Recommendation MathML 2.0 as the standard language for encoding not only mathematical expressions but also mathematical objects such as proofs or formal derivations, and then, by suitable extensions, whole mathematical documents. MathML 2.0 had the right flexibility to accomodate significant extensions (we work with mechanized mathematics). Moreover, we exploited the mechanisms of cross-referencing and linking offered by the language to conserve semantics across the lifecycle of a document, from its purely formal, application-dependent encoding up to its target, output formats (MathML presentation), eventually passing through an intermediate, semi-formal representation (MathML content).
This transformation process, accomplished by means of a suitable combination of stylesheets, leads to a highly modular architecture, hopefully capable of allowing new forms of integration between different logical systems and, more generally, between math-processing applications.
In particular we have implemented stylesheets for generating MathML Content Markup, MathML Presentation Markup, notations and annotations. We have also contributed to the MathML implementation by the development of a stand-alone, modular engine for rendering MathML presentation markup offering some innovative forms of interaction.
More information about the project and the rendering engine can be found at http://www.cs.unibo.it/helm.
Irene Schena
Department of Computer Science, University of Bologna
Maple is a symbolic and numeric computation system, developed by Waterloo Maple Inc.
We have implemented import and export of MathML and plan to
release this implementation in an upcoming version of
Maple. Maple will be able to import a MathML expression
involving presentation, content and parallel markup, compute
with the resulting expression and export it back into MathML
using presentation, content or parallel markup. Maple uses the
MathML extension mechanism (csymbol
) to represent
semantic information that MathML 2.0 does not cover.
Initial interoperability tests indicate that we will be able to transfer mathematical expressions encoded using MathML between Maple and an upcoming version of Design Science's WebEQ.
We will also make sure that Maple handles as many examples from the MathML test suite as possible. This effort has been started and initial results look encouraging.
We found the MathML 2.0 candidate recommendation well structured and comprehensive. The implementation was straight-forward and the MathML working group provided us with clarifications where needed.
Laurent Bernardin: Manager, Mathematical
Development & Product Director
Waterloo Maple Inc, 57 Erb Street W.
Waterloo, ON, N2L 6C2, Canada
Wolfram Research, the maker of Mathematica, has provided support for MathML 1.01 for the last year and a half. Mathematica has had the ability to import and export both presentation and content MathML in many forms including support in a document, programatic support, and recently support as a web server via our new webMathematica product. In October, we announced support for IBM's techexplorer. Communication of mathematical content is done via MathML and both products' support of MathML help ensure a quick and easy implementation of the joint project.
Users have responded enthusiastically to Mathematica's MathML support. Since early this year, U.S. patents with mathematical content have been created using a custom interface for Mathematica and its MathML support. This has resulted in the creation of over 1,000 new documents per week containing MathML.
The very positive MathML response provided impetus to get an early start on MathML 2 support. We are pleased to be able to say that substantial implementation work has been done for MathML 2 support. This work was used to help design the MathML test suite and to provide images for the suite.
Almost all MathML 2 presentation and content tags and
attributes have been implemented. We have found no
substantial problems with these constructs. We are very
excited about the standardization of code points for the large
number of characters that were not part of Unicode 3.0 and
will likely be included in forthcoming Unicode standards. Our
implementation work has included tables to accept and generate
proper entity names and proposed numeric code points. The
large number of characters poses problems in finding or
designing fonts for the characters. Also, because of the
current suite of tools we are using, we can not currently
handle the proposed Plane 1 characters; MathML's fall back
'mathvariant
' attribute has been quite valuable
in getting around this problem. Both of these problems will
go away over time.
Wolfram Research expects to release a product that handles MathML 2.0 in the future, and we intend to be able to pass all of the tests in the test suite with the possible exception of some character-related tests for the reasons mentioned above.
Neil Soiffer (Wolfram Research)
The Boeing Company deals with many suppliers and customers worldwide. In addition, the company is geographically distributed across the United States and also has offices worldwide. We see XML as a most important future technology for exchanging data with customers, suppliers, and our own internal divisions in an environment where many different computer and software systems are employed.
In particular, with respect to MathML, there is a considerable need to interchange technical documents, containing mathematical formulas, via the web---both for communicating between different engineering groups within the company and external vendors and customers. For the immediate future, we see MathML as being a necessary technology for achieving this goal.
Ivor Philips, Boeing
Microsoft is pleased to see contributions from third parties bringing MathML functionality to applications through the use of COM technologies such as ActiveX Controls and Internet Explorer's DHTML Behaviors. These efforts result in Math being displayed in a wide variety of Windows applications that are ActiveX Control containers. For displaying Math on the web the use of DHTML Behaviors support in Internet Explorer 5.5 is an ideal way to incorporate Math seamlessly into an HTML document. Using components to display content in this way allows the Internet Explorer team to concentrate in its efforts to provide a great browser platform for the web and have specialised functionality such as Math supplied by others skilled in those areas.
Murray Sargent and Dave Massy (Microsoft)
OpenMath is a language for describing Mathematical semantics. Its most common encoding is an XML vocabulary and as such it is closely related to MathML.
OpenMath is maintained by the OpenMath Society (http://www.openmath.org) and strongly endorses MathML, and in particular MathML2.
OpenMath only encodes the semantics of an expression, with no default presentation implied. Translation to Presentation MathML is now seen as the default mechanism for specifying the presentation of OpenMath objects (although OpenMath systems may use other mechanisms).
The semantics of OpenMath symbols are specified in "Content Dictionaries" These are distributed from http://www.openmath.org/cd/. They have been brought into exact alignment with the Content Elements in MathML2, so that within the range that is covered by Content MathML there is an explicit conversion in either direction specified between OpenMath and MathML. For uses beyond the semantic range of the MathML Content elements, OpenMath Content Dictionaries form a natural target for the extension mechanisms of MathML (as shown in several examples in the MathML2 draft).
Thus, the current OpenMath proposals rely heavily on both the presentation and content sides of MathML, and we look forward to it becoming a W3C Recommendation.
David Carlisle (NAG) (Co-editor of OpenMath draft)
TeX is the leading mathematical typesetting system, with almost universal use in the mathematical research community. As much of the work built around TeX is an Open Source Community effort, it is hard to be precise about the current status of all TeX/MathML related projects, however there are several projects underway, which fall into three basic categories:
xmltex
system implements a non validating XML
parser in TeX (which does not support UTF-16 as TeX is
intrinsically an 8-bit system). Typesetting rules for
various namespaces, including the W3C XSL-FO and MathML
namespaces has been layered over xmltex. (Elements from
supported namespaces may be freely mixed, so MathML elements
may appear in XSLFO, or DocBook documents). The public
version covers the majority of MathML 1.0 Presentation. A
version under development (which will also be freely
available, probably before the end of this year) will
include some level of support for all of MathML2
(Presentation and Content). Some constructs will be less
well supported than others in the first release (support for
tables and alignment will not include all possible spanning
and alignment attributes in the first release). However the
difficulties with tables were already present in the MathML
1.0 support (and the XHTML support) and MathML2 poses no new
implementation obstacles. As for any Math typesetting system
obtaining sufficient fonts is always a problem, but the TeX
system has the largest collection of mathematical fonts
available, and the work currently under way to produce free
fonts covering the Unicode proposals for Math characters
includes the production of font metrics for TeX use.David Carlisle, LaTeX3 Project
I have been working on an Open Source utility designed to
make it easier to edit MathML 2.0 documents using plain text
editors. Basically the math element's alt
attribute is used in conjunction with the easy to use text
format I designed some years back for the EzMath
editor/plugin. The filter regenerates the MathML content from
the alt
attribute. The only problem I had was
for the case where
alt=0x27a^m
over a^n = either a^{m-n} when m > n
or 1 when m = n
or
1 over a^{n-m} when m < n 0x27
which I was uncertain of how to represent in MathML 2.0. I
hope to make the utility available in the near future, and
need a little time to finish the accompanying documentation
etc. and to get approval from W3C to release this as W3C open
source1.
Dave Raggett
(Openwave) W3C Visiting Fellow
http://www.w3.org/People/Raggett
ORCCA, the Ontario Research Center for Computer Algebra, is a research laboratory located at the University of Western Ontario and the University of Waterloo in Canada, funded through government and private sector sources, with the purpose of advancing technology for computer-aided mathematics. The center consists of eight university faculty members, six post-doctoral fellows, numerous graduate students and undergraduate research assistants, and two support staff.
One of the activities of ORCCA is in the area of network communication of semantically rich mathematical objects for distributed applications or to share data between software components. We have produced a number of applications which transform mathematical objects between different XML-based representations, including OpenMath, MathML 1.0 and MathML 2.0. Two applications currently under development are conversions between the Presentation and Content aspects of MathML 2.0 subject to contextual rules. In particular, we have already implemented context-sensitive rendering of the MathML 2.0 content elements as presentation with content annotation with the XSLT stylesheet mmlctop. Options allow the original content markup to be cross linked with the generated presentation in various ways. We have also implemented a GUI to allow users to specify their notational preferences. These applications may be deployed with a future version of the Maple computer algebra system.
We have found MathML 2.0 to be a very significant improvement over MathML 1.0. Our initial experience with MathML 1.0 and with working drafts leading for XSLT allowed our projects to provide feedback through the W3C Math Working Group. In particular, the support for fine-grained relation between content, presentation and annotation entities allows for reversible transformations without quadratic blow-up in document size (in contrast to MathML 1.0).
Finally, we have found the MathML 2.0 specification to be superior to MathML 1.0 in areas not directly related to our current implementation efforts. Particularly notable are the additions and rationalizations to the vocabulary of elements and attributes and the (non-normative) Appendix with MathML DOM Bindings.
Stephen M. Watt, Director
Ontario Research Center for Computer Algebra
To bring latest web technologies on desktops and other devices under several operating systems, the Mozilla platform is being designed through the initiative and backing of Netscape, with the contributions of open source developers under the aegis of mozilla.org. Mozilla evolves as an aggregate set of projects that fit together horizontally or vertically. In particular, the MathML project aims especially at adding native support of MathML within Mozilla, starting with the rendering of Presentation Markup of MathML1 before moving on to other aspects.
As a native component, MathML in Mozilla leverages on the other components of the browser to achieve what would otherwise be impossible or very hard via a plug-in. Prototype trials have for example demonstrated the rendering of Content Markup using an on-the-fly transformation to Presentation with the Mozilla XSLT component. Other examples of benefits include Unicode, the styling of MathML with CSS, as well as the ability to interact through the DOM and JavaScript. The standardization of the key additions made in MathML2 (e.g., the MathML DOM, the approved MathML Unicode points) means that work toward native support of these could be started in a standards compliant manner.
Roger B. Sidje, University Of Queensland
Mozilla MathML Project
The MathML Content2Presentation Transformation (MathMLc2p), written in XSLT, is able to translate content markup expressions into presentation markup expressions automatically.
The latest version (2000-12-14) has been successfully tested using the MathML test suite (Content section) available at http://www.w3.org/Math/testsuite/ In cases where the test suite and the REC disagree, the REC prevails (for instance, the rendering of lambda functions is different).
It can be downloaded here:
http://www.inrialpes.fr/opera/people/Emmanuel.Pietriga/mathmlc2p.html
Emmanuel Pietriga, emmanuel.pietriga@xrce.xerox.com
INRIA Rhone-Alpes and
Xerox Research Centre Europe
Document Model and Transformation Technologies
6, Chemin de Maupertuis, 38240 Meylan, France
http://www.xrce.xerox.com
The Computer Algebra system REDUCE has, over the years, developed numerous types of interfaces (starting with GENTRAN in the 70s) in order to fulfil its users' needs to communicate their results to other pieces of software. In recent years we have focussed mostly on the two emerging standards, namely MathML and OpenMath.
The first version of the REDUCE-MathML interface was implemented in the very early days of the MathML project and was based on with the MathML 1.x (draft) versions. The main purpose was, and remains, to connect mathematical processors by exchanging mathematical expressions in a standardized way allowing their evaluation on a remote system. Therefore our the main focus is on the MathML Content Markup. At present, we are not using Presentation Markup for input or output. This may change in the future as standard browsers evolve.
This means:
The module in the currently distributed system is still a MathML 1.x implementation, but with the help of our partners we are developing the software towards the 2.0 specification. The new version will be part of a new release of REDUCE.
Recently, in a project at the University of Bath, UK, a MathML to OpenMath converter has been written using REDUCE as the host system; it is able to generate MathML encoding from OpenMath (XML) encoding and vice versa. This module uses the MathML 2.0 draft but it also is restricted to Content MathML. This module is available on request.
For further details have a look at:
http://www.zib.de/Optimization/Software/Reduce/
Winfried Neun, neun@zib.de
ZIB (Konrad-Zuse-Zentrum
für Informationstechnik)
Takustraße 7
D-14195 Berlin-Dahlem
Germany