CP RSS Channel
About Our Sponsors
Articles & Papers
Technology and Society
|First W3C Working Draft for Mathematical Markup Language (MathML) Version 3.0.|
The World Wide Web Consortium (W3C) has announced the publication of a First Public Working Draft for MathML which specifies a new version of the Mathematical Markup Language (MathML 3.0), at present under active development. MathML is an XML application for describing mathematical notation and capturing both its structure and content. The goal is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text.
According to the specification abstract, "MathML can be used to encode both mathematical notation and mathematical content. About thirty-five (35) of the MathML tags describe abstract notational structures, while another about one hundred and seventy provide a way of unambiguously specifying the intended meaning of an expression. Additional chapters discuss how the MathML content and presentation elements interact, and how MathML renderers might be implemented and should interact with browsers. Finally, this document addresses the issue of special characters used for mathematics, their handling in MathML, their presence in Unicode, and their relation to fonts.
While MathML is human-readable in all but the simplest cases, authors use equation editors, conversion programs, and other specialized software tools to generate MathML. Several versions of such MathML tools exist, and more, both freely available software and commercial products, are under development."
The W3C Math Working Group is currently co-chaired by Patrick Ion of the AMS and Robert Miner of Design Science. The Working Group was re-chartered in March 2006 to improve and extend the functionality of the MathML 2.0 (Second Edition) Recommendation in light of several years of experience of large-scale deployment by many individuals and organizations. MathML 2.0 Second Edition became a Recommendation in October 2003.
Since October 2003, W3C's Math Interest Group has witnessed the broad adoption of MathML by such bodies as major scientific publishers, the patent offices of USA and Russia, and other public and private specifications. MathML has been implemented in major browsers, office applications, and many other software systems. By examining the varied experiences of MathML adopters and implementers, the Math Interest Group identified a number of areas where improvement and extension of MathML would significantly enhance its use and adoption. These include better support for internationalization of mathematics, accessibility, semantic encoding of mathematics, and precise control of rendering for print publishing. In addition, closely related technologies such as Unicode have continued to advance. MathML 3.0 is designed to address these issues.
MathML 3.0 does not signal any change in the overall design of MathML. However, the specification document is being almost completely rewritten to provide a coherent whole containing corrections to all the known errata and clarifications of issues that proved problematic and additions made. Throughout the editing, care is being taken to distinguish the normative and non-normative aspects.
MathML 3.0 Chapter 3 on presentation-oriented markup, is being extended to describe new functionalities added as well as smaller improvements of material already proposed. As a result of concerns for support of high-quality typesetting and for the relationship with CSS, the element 'mpadded' has been revised, and the element 'maction' remains under discussion for possible deprecation. As a result of earlier work, as recorded in the W3C Note Arabic Mathematical Notation, the relationship with bidirectional text is being clarified. In addition, some adjustments for easy markup of elementary school mathematics have been made.
Chapter 4 of MathML Version 3.0, covers content-oriented markup. The intent of the content markup specification in the Mathematical Markup Language is to provide an explicit encoding of the underlying mathematical structure of an expression, rather than a particular rendering for the expression. Even a disciplined and systematic use of presentation tags cannot properly capture this semantic information: without additional information it is impossible to decide whether a particular presentation was chosen deliberately to encode the mathematical structure or simply to achieve a particular visual or aural effect. Encoding the underlying mathematical structure explicitly, without regard to how it is presented aurally or visually, enables interchange of information more precisely between systems that are able to manipulate the mathematics. The text of Chapter 4 has been completely regenerated, filtered by extraction from XML content dictionaries written in accordance with OpenMath. The advantages of this method include a level of consistency in interpretation that the previous version perhaps did not achieve, automatic generation of some useful and informative tabulations, and a guarantee of alignment with the basic part of OpenMath that the community will appreciate.
MathML 3.0 Chapter 5 ("Combining Presentation and Content Markup") is being newly written to reflect changes in the technology available. Chapter 6 ("Characters, Entities and Fonts") has been rewritten and reorganized to reflect the new situation in regard to Unicode. It is expected that some new ancillary tables will be provided that reflect requests the WG has received.
Math Working Group plans include an updated XHTML+MathML+SVG profile that combines XHTML 1.1, MathML 3.0, and SVG 1.1 together. This profile will enable mixing XHTML, MathML and SVG in the same document using XML namespaces mechanism, while allowing validation of such a mixed-namespace document.
W3C has also released a Working Draft MathML for CSS Profile. This document "presents a subset of MathML 3.0 which can be used to capture the structure of mathematical formulas in a way particularly suitable for further CSS formatting. The MathML profile subset is expected to facilitate adoption of MathML in web browsers and CSS formatters, since it emphasizes the widely adopted CSS visual formatting model enhanced with only a few mathematically oriented extensions. These are present to allow formatting some complex inline expressions requiring special layout schemata given in presentational MathML. The development of this CSS-oriented profile is coordinated with ongoing work on CSS3 and may require a limited set of new properties to be added to existing modules. The full MathML specification defines a more extensive markup language for mathematical formalism than can readily be rendered using the present CSS visual formatting model and its realizations."
Mathematical Markup Language (MathML) Version 3.0. W3C Working Draft. 27-April-2007. This version URI: http://www.w3.org/TR/2007/WD-MathML3-20070427/. Latest MathML 3 version URI: http://www.w3.org/TR/MathML3/. Latest MathML Recommendation URI: http://www.w3.org/TR/MathML/. Edited by: David Carlisle (Numerical Algorithms Group - NAG), Patrick Ion (Mathematical Reviews, American Mathematical Society), and Robert Miner (Design Science, Inc). See also the list of WG participants.
Audience: "This specification of the markup language MathML is intended primarily for a readership consisting of those who will be developing or implementing renderers or editors using it, or software that will communicate using MathML as a protocol for input or output. It is not a User's Guide but rather a reference document."
Production note: "MathML is an XML vocabulary and markup language. The MathML specification in its current form as a W3C recommendation is a large document of 8 chapters and 11 appendices. As a conventionally printed document it runs to 541 pages in 2.9MB of PDF. Also associated are some character tables with about 3,000 entries. The production of the specification, in the normative form for the W3C TR archive and all its derived versions is based on XML source files which are processed and finally assembled with XSLT and other script files. We expect that, as for previous editions the main chapters will have various lead authors and that, finally, the whole will be read by the WG as a whole, and massaged by a smaller group of editors."
A MathML for CSS Profile. W3C Working Draft. 27-April-2007. This version URI: http://www.w3.org/TR/2007/WD-mathml-for-css-20070427/. Latest version URI: http://www.w3.org/TR/mathml-for-css/. Edited by: Bert Bos (W3C), David Carlisle (Numerical Algorithms Group - NAG), George Chavchanidze (Opera Software), Patrick Ion (Mathematical Reviews, American Mathematical Society), and Bruce R. Miller (National Institute of Standards and Technology - NIST).
Earlier Versions of MathML:
MathML 3.0 Chartered Work Items
Extension of MathML to support elementary mathematical notations such as mixed numbers or two-dimensional notations for addition, multiplication, and long division. So far, layout of these notation has been achieved using tables. The introduction of explicit markup for them will increase accessibility and searchability.
Extension of MathML to enhance support for online assessment, particularly accessible assessment. Users of MathML include a large number of educational institutions interested in long-term standards-based encoding of mathematical content.
Extension of presentation MathML via additional rendering constructs, non-textual bi-directional rendering rules, and more powerful style selectors to better support localizing MathML, particularly for language contexts using Arabic scripts. A first step in this direction was the publication of the W3C Interest Group Note Arabic mathematical notation by the Mathematics Interest Group.
Extension of MathML with enhanced support for equation labeling, including automatic numbering, general label placement and style, and resolution of references.
Definition of a precise and standard mechanism for extending content MathML, as well as refinement of current content MathML semantics, e.g., to include the specification of branch cuts for inverse trigonometrics functions over complex domains thereby reducing ambiguity and thus potentially improving interoperability.
Refinement of current presentation MathML constructs for precision layout in high-resolution rendering contexts, including more general tabular and/or vertical layout constructs.
Investigation of canonicalization of presentation and content MathML. Many processing and analysis tasks involving MathML are simplified by identifying canonical representations for notations that might be marked up in several ways.
Updating MathML to reflect current versions of closely related technologies such as Unicode, SVG, CDF, and others where specific versions are referenced.
Ensuring compatibility between the current version of MathML and the Test Suite and Validation Services for MathML provided at the W3C site.
Ensuring ongoing compatibility between MathML and new and evolving XML-related specifications at W3C and outside of it.
Content MathML is the part of the language particularly concerned with the semantics of the constructs of mathematics. For that reason it has appealed to other scientific communities engaged in semantic markup for their disciplines... In its current form, Content MathML comprises about 120 elements taking about a dozen attributes. It is planned to add about ten new elements that for completeness in the fundamental areas of mathematical usage, particularly in connection with statistics.
One of the intended strengths of Content MathML was to be the extension mechanism it provided for introduction of new specialized notations, which are being developed all the time. An important, long-standing and well-developed approach to formal specification of the meaning of mathematics is called OpenMath, and Content MathML was originally informally aligned with OpenMath with the intention that the Content MathML extension mechanism might take advantage of the corpus of mathematics with OpenMath semantic definitions. However, time has shown the extension mechanism was not as useful, or widely adopted, as hoped; it is intended now to revamp this aspect of MathML.
MathML 3 will change the way semantic definitions of Content MathML elements are presented. In most cases, the actual definitions themselves will not change (except for some small errors). We are reworking the whole Chapter 4 of the specification using essentially the formal structure of OpenMath Content Dictionaries as the source. This project is well underway, and will ensure a greater consistency in the Content Chapter, which is produced by XSLT from Content Dictionaries. It will also allow easier production of certain tables, which were in appendices of the previous version of the specification, and of other useful reference information...
Keyboard Input of Mathematical Formulas
To meet the needs of individual authors and web applications for a keyboard input syntax for formulas, the Math WG has decided to begin work on a Note "Keyboard Input of Mathematical Formulas." Quite a lot of work has already been done by member companies and they are willing to contribute it toward producing a common understanding of the situation.
Currently, most web applications supporting mathematical notation use some variety of TeX-like syntax. TeX is a customizable macro programming language whose generality (it is Turing complete) is both a source of its strength and a source of difficulties for incorporating some of its advantages elsewhere. Consequently, there are many languages that more or less agree with TeX, but are more limited and regular. The Math WG has contacted many of the implementers of these languages, and most have indicated they see a benefit to having a single standard syntax. Consequently, at least in the initial phase, the Math WG will seek to compile a common subset of all these languages, and to propose a single syntax where they differ.
The constructions and the nomenclature of TeX have heavily influenced the development of MathML already. MathML in its full XML form was never thought to be usable as an input format: for a start it is far too verbose as necessitated by its intention to be expressive. However, the Math WG regards the a well-defined mapping from a keyboard input syntax to MathML to be a requirement...
Mathematics is an essential aspect of scientific communication and education. Therefore, to realize the potential of the Web for science, it must be possible to use mathematics on the Web. Mathematical expressions must move seamlessly between the Web and a wide range of related environments including authoring tools and content management systems, XML-based publishing work flows, e-learning environments, and scientific computing software.
To address this need, W3C brought together key players and major stake holders to devise a solution. The Math Working Group created the Mathematical Markup Language (MathML), a highly-structured, information-rich, XML encoding for mathematical expressions, and is chartered to maintain it.
MathML facilitates the authoring and presentation of mathematical expressions in print and on the screen, and forms the basis for machine to machine communication of mathematics on the Web. Designed as an XML application, MathML provides two sets of tags, one for the presentation of mathematics and the other associated with the meaning behind equations. MathML is not designed for people to enter by hand; specialized tools provide the means for typing in and editing mathematical expressions.
The Math WG has been working on several drafts besides MathML 3.0, including a subset of MathML that can be rendered on any browser that supports CSS, and an alternative syntax that might be used for entering MathML in wikis.
The Math WG works together with the CSS WG, the CDF WG and the HTML WG on a common framework for compound documents that supports typographically correct mathematics. MathML is fully integrated with XHTML and SVG (Scalable Vector Graphics), and interoperates well with other W3C technologies such as XSL (the Extensible Stylesheet Language), CSS (Cascading Style Sheets), and XML Schema. [Activity Statement 2007-04]
On 2006-06-28, W3C announced the launch of a new Math Working Group to replace the Math Interest Group. Patrick Ion (Invited Expert, representing the American Mathematical Society) and Robert Miner (Design Science) are co-Chairs. The group is chartered through 29-February-2008 to produce a new MathML 3.0 Recommendation, to improve and expand MathML in the areas of internationalization, accessibility, and mathematical richness.
As chartered, the mission of the Math Working Group is to facilitate and promote the use of the Web for mathematical and scientific communication. The main purpose of the Working Group is to improve and extend the functionality of the MathML 2.0 (Second Edition) Recommendation in light of several years of experience of large-scale deployment by many individuals and organizations.
The Math Activity has a long and exemplary history at W3C. The MathML 1.0 specification was the first XML application to achieve Recommendation status after the publication of the XML Recommendation in 1998. Similarly, a Math Working group was the first W3C group to deploy a test suite, one of the first to release a schema, and the first to recharter under the current W3C patent policy.
In 2004, after eight years of development of the MathML language resulting in four versions of the MathML Recommendation, a consensus emerged in the MathML community that a period of stability in the Recommendation was necessary to allow large-scale adoption and implementation of MathML. Consequently, for the last two years, the Math Activity at W3C has been advanced by a Math Interest Group that has closely monitored the usage of MathML and the issues that have confronted adopters.
The development of a MathML 3.0 Recommendation requires updates to version-dependent resources such as the MathML Test Suite, as well as ongoing maintenance of version-independent resources such as public Web pages and mailing lists. These tasks include: (1) Maintenance of expository and tutorial resources aimed at encouraging development of MathML-aware software, such as are visual and audio browsers, translators from older encodings (such as TEX and ISO 12083), validation tools and editors. These resources include the public W3C Math Web site, and the public www-math mailing list. (2) Continued monitoring of browser support for MathML, and maintenance of aids such as XSLT and CSS stylesheets and server configuration advice. (3) Providing a forum for communities of practice, and a process through which adopters of MathML can coordinate and reconcile differing interpretations of the MathML specification..."
- W3C MathML:
- Related references:
- General references:
|Receive daily news updates from Managing Editor, Robin Cover.|