Mathematical Markup Language (Mathml) 1.01 Specification

Mathematical Markup Language (Mathml) 1.01 Specification

Mathematical Markup Language (MathML") 1.01 Specification W3C Recommendation, revision of 7 July 1999 REC-MathML-19980407; revised 19990707 This version: http://www.w3.org/1999/07/REC-MathML-19990707 Latest version: http://www.w3.org/TR/REC-MathML Previous version: http://www.w3.org/TR/1998/REC-MathML-19980407 Editors: Patrick Ion <[email protected]> (Mathematical Reviews / American Mathematical Society) Robert Miner <[email protected]> (Geometry Technologies, Inc.) Principal Writers: Stephen Buswell, Stan Devitt, Angel Diaz, Patrick Ion, Robert Miner, Nico Poppelier, Bruce Smith, Neil Soiffer, Robert Sutor, Stephen Watt Copyright © 1999 W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. 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 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 proposes. MathML can be used to encode both mathematical notation and mathematical content. Twenty-eight of the MathML tags describe abstract notational structures, while another seventy-five 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 entities (extended 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 programs, and other specialized software tools to generate MathML. Several early 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 document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web. The fundamental eXtensible Markup Language (XML) 1.0 specification upon which MathML is based has been adopted as a W3C Recommendation. Should future changes in the XML specification necessitate changes in the MathML specification, it is the intention of the W3C Math Working Group to issue a revision of the MathML specification. However, any changes are very unlikely to be substantial. Most of this document represents technology tested by multiple implementations. A summary of MathML rendering and authoring software is described on the W3C Math Working Group home page. The www-math mailing list is a public forum for questions and comments about MathML and issues related to putting math on the Web. The W3C Math Working Group intends further development of recommendations for mathematics on the Web, as set out below. A list of current W3C Recommendations and other technical reports can be found at http://www.w3.org/TR. This document is a revised version of the document first released on 7 April 1998. Changes from the original version are only editorial in nature. The present W3C Math Working Group is working on further improvements of MathML. Available formats The MathML 1.01 W3C Recommendation is made available in different formats from the W3C Math WG's site. In case of a discrepancy between any of the derived forms and that found in the W3C's archive of Recommendations the definitive version is naturally the Recommendation. At first it is expected that zipped and gzipped bundles will be made available, but such easily printable formats as PostScript or PDF may be supplied. Available languages The English version of this specification is the only normative version. However, for translations of this document, see http://www.w3.org/MarkUp/mathml101-updates/translations.html. Errata The list of known errors in this specification is available at: http://www.w3.org/MarkUp/mathml101-updates/errata.html. Please report errors in this document to [email protected]. Table of contents Extended Table of Contents ● Chapter 1. Introduction ● Chapter 2. MathML Fundamentals ● Chapter 3. Presentation Markup ● Chapter 4. Content Markup ● Chapter 5. Mixing Presentation and Content ● Chapter 6. Entities, Characters and Fonts ● Chapter 7. Implementing MathML ● Appendix A. DTD for MathML ● Appendix B. Glossary ● Appendix C. Operator Dictionary ● Appendix D. Working Group Membership ● Appendix E. Informal EBNF Grammar for Content Elements ● Appendix F. Default Semantic Bindings for Content Elements ● Appendix G. MathML 1.0 Changes ● References REC-MathML-19980407; revised 19990707 Mathematical Markup Language 1.01 Specification Table of Contents ● Title page and Abstract ● 1. Introduction ❍ 1.1 Mathematics and its Notation ❍ 1.2 Origins and Goals ■ 1.2.1 The History of MathML ■ 1.2.2 Limitations of HTML ■ 1.2.3 Requirements for Mathematical Markup ■ 1.2.4 Goals of MathML ❍ 1.3 The Role of MathML on the Web ■ 1.3.1 Layered Design of Mathematical Web Services ■ 1.3.2 Relation to Other Web Technology ● 2. MathML Fundamentals ❍ 2.1 MathML Overview ■ 2.1.1 Taxonomy of MathML Elements ■ 2.1.2 Expression Trees and Token Elements ■ 2.1.3 Presentation Markup ■ 2.1.4 Content Markup ■ 2.1.5 Mixing Presentation and Content ❍ 2.2 Some MathML Examples ■ 2.2.1 Presentation Examples ■ 2.2.2 Content Examples ■ 2.2.3 Mixed Markup Examples ❍ 2.3 MathML Syntax and Grammar ■ 2.3.1 An XML Syntax Primer ■ 2.3.2 Children vs. Arguments ■ 2.3.3 MathML Attributes Values ■ 2.3.4 Attributes Shared by all MathML Elements ■ 2.3.5 Collapsing Whitespace in Input ● 3. Presentation Markup ❍ 3.1 Introduction ■ 3.1.1 What Presentation Elements Represent ■ 3.1.2 Terminology Used In This Chapter ■ 3.1.3 Required Arguments ■ 3.1.4 Elements with Special Behaviors ■ 3.1.5 Summary of Presentation Elements ❍ 3.2 Token elements ■ 3.2.1 Attributes common to token elements ■ 3.2.2 <mi> -- identifier ■ 3.2.3 <mn> -- number ■ 3.2.4 <mo> -- operator, fence, or separator ■ 3.2.5 <mtext> -- text ■ 3.2.6 <mspace/> -- space ■ 3.2.7 <ms> -- string literal ❍ 3.3 General Layout Schemata ■ 3.3.1 <mrow> -- horizontally group any number of subexpressions ■ 3.3.2 <mfrac> -- form a fraction from two subexpressions ■ 3.3.3 <msqrt> and <mroot> -- form a radical ■ 3.3.4 <mstyle> -- style change ■ 3.3.5 <merror> -- enclose a syntax error message from a preprocessor ■ 3.3.6 <mpadded> -- adjust space around content ■ 3.3.7 <mphantom> -- make content invisible but preserve its size ■ 3.3.8 <mfenced> -- surround content with a pair of fences ❍ 3.4 Script and Limit Schemata ■ 3.4.1 <msub> -- attach a subscript to a base ■ 3.4.2 <msup> -- attach a superscript to a base ■ 3.4.3 <msubsup> -- attach a subscript-superscript pair to a base ■ 3.4.4 <munder> -- attach an underscript to a base ■ 3.4.5 <mover> -- attach an overscript to a base ■ 3.4.6 <munderover> -- attach an underscript-overscript pair to a base ■ 3.4.7 <mmultiscripts> -- attach prescripts and tensor indices to a base ❍ 3.5 Tables and Matrices ■ 3.5.1 <mtable> -- table or matrix ■ 3.5.2 <mtr> -- row in a table or matrix ■ 3.5.3 <mtd> -- one entry in a table or matrix ■ 3.5.4 <maligngroup/> and <malignmark/> -- alignment markers ❍ 3.6 Enlivening Expressions ■ 3.6.1 <maction> -- bind actions to a subexpression ● 4. Content Markup -- Index of All Content Elements ❍ 4.1 Introduction ■ 4.1.1 The Intent of Content Markup ■ 4.1.2 The Scope of Content Markup ■ 4.1.3 Basic Concepts of Content Markup ❍ 4.2 Content Element Usage Guide ■ 4.2.1 Overview of Syntax and Usage ■ 4.2.2 Containers ■ 4.2.3 Functions, Operators and Qualifiers ■ 4.2.4 Relations ■ 4.2.5 Conditions ■ 4.2.6 Syntax and Semantics ■ 4.2.7 Semantic Mappings ■ 4.2.8 MathML element types ❍ 4.3 Content Element Attributes ■ 4.3.1 Content Element Attribute Values ■ 4.3.2 Attributes Modifying Content Markup Semantics ■ 4.3.3 Attributes Modifying Content Markup Rendering ❍ 4.4 The Content Markup Elements ■ 4.4.1 Token Elements ■ 4.4.2 Basic Content Elements ■ 4.4.3 Arithmetic, Algebra and Logic ■ 4.4.4 Relations ■ 4.4.5 Calculus ■ 4.4.6 Theory of Sets ■ 4.4.7 Sequences and Series ■ 4.4.8 Trigonometry ■ 4.4.9 Statistics ■ 4.4.10 Linear Algebra ■ 4.4.11 Semantic Mapping Elements ● 5. Mixing Presentation and Content ❍ 5.1 When to Use Mixed Markup ■ 5.1.1 Why Two Different Kinds of Markup? ■ 5.1.2 Reasons to Mix Markup ❍ 5.2 How to use Mixed Markup ■ 5.2.1 Presentation Markup Contained in Content Markup ■ 5.2.2 Content Markup Contained in Presentation Markup ❍ 5.3 Anticipating Macros for Combined Markup ● 6. Entities, Characters and Fonts ❍ 6.1 Introduction ■ 6.1.1 The Intent of Entity Names ■ 6.1.2 The STIX Project ❍ 6.2 Entity Listings ■ 6.2.1 Non-Marking Entities ■ 6.2.2 Printing Entity List ■ 6.2.3 Special Constants ■ 6.2.4 Full Alphabetical Lists ■ 6.2.5 ISO Entity Set Groupings ■ 6.2.5.1 ISO Symbol Entity Sets ■ 6.2.5.2 ISO Math Font Entity Sets ■ 6.2.5.3 Other ISO Font Entity Sets ■ 6.2.6 Additional Entity Set Grouping ● 7.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    217 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us