
W3C Proposed Edited Recommendation Mathematical Markup Language (MathML) Version 2.0 (2nd Edition) W3C Proposed Edited Recommendation 04 August 2003 This version: http://www.w3.org/TR/2003/PER-MathML2-20030804/ Latest version: http://www.w3.org/TR/MathML2/ Previous versions: http://www.w3.org/TR/2003/WD-MathML2-20030411/ http://www.w3.org/TR/2002/WD-MathML2-20021219/ Editors: David Carlisle (NAG) Patrick Ion (Mathematical Reviews, American Mathematical Society) Robert Miner (Design Science, Inc.) Nico Poppelier (Penta Scope) Principal Authors: Ron Ausbrooks, Stephen Buswell, David Carlisle, Stéphane Dalmas, Stan Devitt, Angel Diaz, Max Froumentin, Roger Hunter, Patrick Ion, Michael Kohlhase, Robert Miner, Nico Poppelier, Bruce Smith, Neil Soiffer, Robert Sutor, Stephen Watt In addition to the HTML version, this document is also available in these non-normative formats: diff marked HTML version, XHTML+MathML version, PDF (paper formatted) version, PDF (screen formatted) version, zip archive of XML sources and stylesheets, and zip archive of (X)HTML documents. Please refer to the errata for this document, errata, which may include some normative corrections. Copyright c 1998-2003 W3C R (MIT, ERCIM, Keio), All Rights Reserved.W3C liability, trademark, document use and software licensing rules apply. 2 Abstract This specification defines the Mathematical Markup Language, or MathML. MathML is an XML application for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text. 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. This document begins with background information on mathematical notation, the problems it poses, and the philosophy underlying the solutions MathML 2.0 proposes. MathML can be used to encode both mathematical notation and mathematical content. About thirty of the MathML tags describe abstract notational structures, while another about one hundred and fifty 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 MathML characters and their relation to fonts. While MathML is human-readable, it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion pro- grams, and other specialized software tools to generate MathML. Several versions of such MathML tools already exist, and a number of others, both freely available software and commercial products, are under development. Status of this document This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C. This is the W3C Proposed Edited Recommendation of MathML 2.0 2nd Edition for review by W3C members and other interested parties. Note that as stated in the previous last-call draft, a Candidate Recommendation draft has not been deemed necessary by the Working Group, as there are no substantial implementation issues arising as a result of this edition which aims to clarify the text of the first edition, and incorporate corrections to any errata so far reported. Public comments on this document should be sent to the mailing list [email protected] (list archives). W3C Advisory Committee Repre- sentatives are invited to send formal review comments by following the instructions in the Call for Review. Advisory Committee represen- tatives may send comments to the Team-only list [email protected]. Advisory Committee representatives may also make their comments visible via the public mailing list above. Comments should be sent during the review period, which ends on the 6th September, 2003. This is a revised edition of a document that has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a W3C Recommendation. This document has been produced by the W3C Math Working Group as part of W3C Math Activity. The decision to give this document Last Call status is noted in the minutes of Math Working Group teleconference (member only link). The goals of that W3C Math Working Group are discussed in the W3C Math WG Charter (revised February 2000 and June 2001 from original of 11 June 1998). A list of participants in the W3C Math Working Group is available. 2 3 The MathML 2.0 specification was reviewed extensively during its development, as provided by the W3C Process. During end of that period the W3C Math Working Group members encouraged implementation using the specification and comment on it; a report on Implementation and Interoperability experiences and issues has been made public. It is intended that this will be updated from time to time by the continuing work of the W3C that oversees the MathML 2.0 Recommendation. The W3C Math Working Group maintains a public Web page http://www.w3.org/Math/ which contains further background information. The preparation of a Second Edition of the MathML 2.0 Specification allows the revision of that document to provide a coherent whole containing corrections to all the known errata and clarifications of some smaller issues that proved problematic. It is not the occasion for any fundamental changes in the language MathML 2.0. Public discussion of MathML and issues of support through the W3C for mathematics on the Web takes place on the public mailing list of the Math Working Group (list archives). To subscribe send an email to [email protected] with the word subscribe in the subject line. Please report errors in this document to [email protected]. The English version of this specification is the only normative version. Information about translations of this document is available at http://www.w3.org/2001/02/MathML2-translations. A list of all current W3C Technical Reports can be found at http://www.w3.org/TR. Patent disclosures relevant to this specification may be found on the Math Working Group’s patent disclosure page. The basic structure of this document is the same as that of the earlier MathML 2.0 Recommendation [MathML2], with the addition of an index in the new Appendix L. MathML 2.0 itself was a revision of the earlier W3C Recommendation MathML 1.01 [MathML1]. It differed from it in that all chapters were updated and two new ones and some appendices were added. Since MathML 1.01, Chapters 1 and 2, which are introductory material, have been revised to reflect the changes elsewhere in the document, and in the rapidly evolving Web environment. Chapters 3 and 4 have been extended to describe new functionalities added as well as smaller improvements of material already proposed. Chapter 5 has been newly written to reflect changes in the technology available. The major tables in Chapter 6 have been regenerated and reorganized to reflect an improved list of characters useful for mathematics, and the text revised to reflect the new situation in regard to Unicode. Chapter 7 has been completely revised since Web technology has changed. A new Chapter 8 on the DOM for MathML 2.0 has been added; the latter points to new appendices D and E for detailed listings. The appendices have been reorganized into normative and non-normative groups. The material in Appendices D, E and G was not present in MathML 1.01. 3 Contents 1 Introduction 13 1.1 Mathematics and its Notation 13 1.2 Origins and Goals 14 1.2.1 The History of MathML 14 1.2.2 Limitations of HTML 15 1.2.3 Requirements for Mathematics Markup 16 1.2.4 Design Goals of MathML 17 1.3 The Role of MathML on the Web 18 1.3.1 Layered Design of Mathematical Web Services 18 1.3.2 Relation to Other Web Technology 19 2 MathML Fundamentals 22 2.1 MathML Overview 22 2.1.1 Taxonomy of MathML Elements 23 2.1.2 Presentation Markup 25 2.1.3 Content Markup 25 2.1.4 Mixing Presentation and Content 26 2.2 MathML in a Document 27 2.3 Some MathML Examples 28 2.3.1 Presentation Examples 28 2.3.2 Content Examples 31 2.3.3 Mixed Markup Examples 34 2.4 MathML Syntax and Grammar 37 2.4.1 MathML Syntax and Grammar 37 2.4.2 An XML Syntax Primer 37 2.4.3 Children versus Arguments 38 2.4.4 MathML Attribute Values 38 2.4.5 Attributes Shared by all MathML Elements 45 2.4.6 Collapsing Whitespace in Input 46 3 Presentation Markup 47 3.1 Introduction 47 4 5 3.1.1 What Presentation Elements Represent 47 3.1.2 Terminology Used In This Chapter 48 3.1.3 Required Arguments 49 3.1.4 Elements with Special Behaviors 51 3.1.5 Bidirectional Layout 52 3.1.6 Summary of Presentation Elements 53 3.2 Token Elements 54 3.2.1 MathML characters in token elements 54 3.2.2 Mathematics style attributes common to token elements 55 3.2.3 Identifier (mi) 59 3.2.4 Number (mn) 61 3.2.5 Operator, Fence, Separator or Accent (mo) 62 3.2.6 Text (mtext) 74 3.2.7 Space (mspace) 75 3.2.8 String Literal (ms) 77 3.2.9 Accessing glyphs for characters from MathML (mglyph) 78 3.3 General Layout Schemata 80 3.3.1 Horizontally Group Sub-Expressions (mrow) 80 3.3.2 Fractions (mfrac) 82 3.3.3 Radicals (msqrt, mroot) 86 3.3.4 Style Change (mstyle) 86 3.3.5 Error Message (merror) 92
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages662 Page
-
File Size-