ISO/IEC 40314:2016
(Main)Information technology — Mathematical Markup Language (MathML) Version 3.0 2nd Edition
Information technology — Mathematical Markup Language (MathML) Version 3.0 2nd Edition
ISO/IEC 40314:2016 defines the Mathematical Markup Language, or MathML. MathML is a markup language 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. MathML can be used to encode both mathematical notation and mathematical content. 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. MathML was originally specified as an XML application and most of the examples in this specification assume that syntax. Unless explictly noted, the examples in this specification are also valid HTML syntax.
Technologies de l'information — Langage de marquage mathématique (MathML) Version 3.0 2e édition
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 40314
First edition
2016-03-01
Information technology —
Mathematical Markup Language
(MathML) Version 3.0 2nd Edition
Technologies de l’information — Langage de marquage
mathématique (MathML) Version 3.0 2e édition
Reference number
©
ISO/IEC 2016
© ISO/IEC 2016, Published in Switzerland
All rights reserved. Unless otherwise speci�ied, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be re�uested from either ISO at the address below or ISO�s member body in the country of
the requester.
ISO copyright of�ice
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright�iso.org
www.iso.org
ii © ISO/IEC 2016 – All rights reserved
FOREWORD
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non‐governmental, in liaison with ISO and IEC, also
take part in the work. In the field of information technology, ISO and IEC have established a joint
technical committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does
not constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO's adherence to the WTO principles in the Technical
Barriers to Trade (TBT), see the following URL: Foreword — Supplementary information.
ISO/IEC 40314 was prepared by W3C and was adopted, under the PAS procedure, by Joint
Technical Committee ISO/IEC JTC 1, Information technology, in parallel with its approval by
national bodies of ISO and IEC.
© ISO/IEC 2016 – All rights reserved
i�i
Contents
1 Introduction 9
1.1 Mathematics and its Notation . 9
1.2 Origins and Goals . 10
1.2.1 Design Goals of MathML . 10
1.3 Overview . 11
1.4 A First Example. 11
2 MathML Fundamentals 14
2.1 MathML Syntax and Grammar . 14
2.1.1 General Considerations. 14
2.1.2 MathML and Namespaces . 14
2.1.3 Children versus Arguments. 15
2.1.4 MathML and Rendering . 15
2.1.5 MathML Attribute Values . 15
2.1.6 Attributes Shared by all MathML Elements . 20
2.1.7 Collapsing Whitespace in Input . 21
2.2 The Top-Level Element . 22
2.2.1 Attributes . 22
2.2.2 Deprecated Attributes . 24
2.3 Conformance . 24
2.3.1 MathML Conformance . 24
2.3.2 Handling of Errors . 27
2.3.3 Attributes for unspecified data . 27
3 Presentation Markup 28
3.1 Introduction . 28
3.1.1 What Presentation Elements Represent . 28
3.1.2 Terminology Used In This Chapter. 29
3.1.3 Required Arguments . 30
3.1.4 Elements with Special Behaviors. 31
3.1.5 Directionality . 32
3.1.6 Displaystyle and Scriptlevel . 33
3.1.7 Linebreaking of Expressions . 34
3.1.8 Warning about fine-tuning of presentation . 35
3.1.9 Summary of Presentation Elements . 37
3.1.10 Mathematics style attributes common to presentation elements . 38
3.2 Token Elements . 38
3.2.1 Token Element Content Characters,. 39
3.2.2 Mathematics style attributes common to token elements . 41
3.2.3 Identifier . 45
© ISO/IEC 2016 – All rights reserved
CONTENTS 5
3.2.4 Number . 46
3.2.5 Operator, Fence, Separator or Accent . 47
3.2.6 Text. 60
3.2.7 Space . 62
3.2.8 String Literal . 64
3.3 General Layout Schemata. 64
3.3.1 Horizontally Group Sub-Expressions . 64
3.3.2 Fractions . 67
3.3.3 Radicals, . 69
3.3.4 Style Change . 69
3.3.5 Error Message . 72
3.3.6 Adjust Space Around Content. 73
3.3.7 Making Sub-Expressions Invisible . 78
3.3.8 Expression Inside Pair of Fences . 80
3.3.9 Enclose Expression Inside Notation . 83
3.4 Script and Limit Schemata . 85
3.4.1 Subscript. 86
3.4.2 Superscript. 87
3.4.3 Subscript-superscript Pair . 87
3.4.4 Underscript . 88
3.4.5 Overscript . 89
3.4.6 Underscript-overscript Pair . 91
3.4.7 Prescripts and Tensor Indices,, 93
3.5 Tabular Math . 95
3.5.1 Table or Matrix . 95
3.5.2 Row in Table or Matrix . 99
3.5.3 Labeled Row in Table or Matrix . 99
3.5.4 Entry in Table or Matrix . 101
3.5.5 Alignment Markers, . 101
3.6 Elementary Math . 110
3.6.1 Stacks of Characters . 111
3.6.2 Long Division . 113
3.6.3 Group Rows with Similiar Positions . 114
3.6.4 Rows in Elementary Math . 115
3.6.5 Carries, Borrows, and Crossouts . 115
3.6.6 A Single Carry . 116
3.6.7 Horizontal Line . 117
3.6.8 Elementary Math Examples . 118
3.7 Enlivening Expressions . 124
3.7.1 Bind Action to Sub-Expression . 124
3.8 Semantics and Presentation . 126
4 Content Markup 127
4.1 Introduction . 127
4.1.1 The Intent of Content Markup . 127
4.1.2 The Structure and Scope of Content MathML Expressions . 128
4.1.3 Strict Content MathML. 128
4.1.4 Content Dictionaries . 129
4.1.5 Content MathML Concepts . 130
4.2 Content MathML Elements Encoding Expression Structure . 131
© ISO/IEC 2016 – All rights reserved
6 CONTENTS
4.2.1 Numbers . 132
4.2.2 Content Identifiers . 138
4.2.3 Content Symbols . 140
4.2.4 String Literals . 142
4.2.5 Function Application. 143
4.2.6 Bindings and Bound Variables and. 146
4.2.7 Structure Sharing. 148
4.2.8 Attribution viasemantics . 150
4.2.9 Error Markup . 151
4.2.10 Encoded Bytes . 152
4.3 Content MathML for Specific Structures . 152
4.3.1 Container Markup . 153
4.3.2 Bindings with . 154
4.3.3 Qualifiers . 156
4.3.4 Operator Classes . 162
4.3.5 Non-strict Attributes . 169
4.4 Content MathML for Specific Operators and Constants . 170
4.4.1 Functions and Inverses . 170
4.4.2 Arithmetic, Algebra and Logic . 180
4.4.3 Relations . 200
4.4.4 Calculus and Vector Calculus . 205
4.4.5 Theory of Sets . 224
4.4.6 Sequences and Series . 233
4.4.7 Elementary classical functions . 243
4.4.8 Statistics . 247
4.4.9 Linear Algebra . 253
4.4.10 Constant and Symbol Elements . 260
4.5 Deprecated Content Elements. 268
4.5.1 Declare . 268
4.5.2 Relation . 268
4.5.3 Relation. 268
4.6 The Strict Content MathML Transformation . 268
5 Mixing Markup Languages for Mathematical Expressions 272
5.1 Annotation Framework . 272
5.1.1 Annotation elements . 272
5.1.2 Annotation keys . 273
5.1.3 Alternate representations . 274
5.1.4 Content equivalents. 275
5.1.5 Annotation references . 276
5.2 Elements for Semantic Annotations . 276
5.2.1 The element. 276
5.2.2 The element . 277
5.2.3 The element . 278
5.3 Combining Presentation and Content Markup . 281
5.3.1 Presentation Markup in Content Markup. 281
5.3.2 Content Markup in Presentation Markup. 282
5.4 Parallel Markup . 282
5.4.1 Top-level Parallel Markup . 282
5.4.2 Parallel Markup via Cross-References . 283
© ISO/IEC 2016 – All rights reserved
CONTENTS 7
6 Interactions with the Host Environment 286
6.1 Introduction . 286
6.2 Invoking MathML Processors. 286
6.2.1 Recognizing MathML in XML. 286
6.2.2 Recognizing MathML in HTML . 287
6.2.3 Resource Types for MathML Documents . 287
6.2.4 Names of MathML Encodings . 287
6.3 Transferring MathML . 288
6.3.1 Basic Transfer Flavor Names and Contents . 288
6.3.2 Recommended Behaviors when Transferring . 289
6.3.3 Discussion . 289
6.3.4 Examples . 290
6.4 Combining MathML and Other Formats . 292
6.4.1 Mixing MathML and XHTML . 294
6.4.2 Mixing MathML and non-XML contexts . 294
6.4.3 Mixing MathML and HTML . 294
6.4.4 Linking . 295
6.4.5 MathML and Graphical Markup . 296
6.5 Using CSS with MathML . 297
6.5.1 Order of processing attributes versus style sheets . 298
7 Characters, Entities and Fonts 299
7.1 Introduction . 299
7.2 Unicode Character Data. 299
7.3 Entity Declarations . 300
7.4 Special Characters Not in Unicode . 300
7.5 Mathematical Alphanumeric Symbols . 300
7.6 Non-Marking Characters . 303
7.7 Anomalous Mathematical Characters. 303
7.7.1 Keyboard Characters . 303
7.7.2 Pseudo-scripts . 304
7.7.3 Combining Characters . 306
A Parsing MathML 308
A.1 Use of MathML as Well-Formed XML. 308
A.2 Using the RelaxNG Schema for MathML3. 308
A.2.1 Full MathML . 309
A.2.2 Elements Common to Presentation and Content MathML. 309
A.2.3 The Grammar for Presentation MathML . 311
A.2.4 The Grammar for Strict Content MathML3 . 323
A.2.5 The Grammar for Content MathML . 325
A.2.6 MathML as a module in a RelaxNG Schema . 332
A.3 Using the MathML DTD . 333
A.3.1 Document Validation Issues . 333
A.3
...
DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 40314
ISO/IEC JTC 1 Secretariat: ANSI
Voting begins on: Voting terminates on:
2014-10-01 2015-01-01
Information technology — Mathematical Markup Language
(MathML) Version 3.0 2nd Edition
Titre manque
ICS: 35.240.30
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 40314:2014(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
©
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2014
ISO/IEC DIS 40314:2014(E)
Copyright notice
This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as
permitted under the applicable laws of the user’s country, neither this ISO draft nor any extract
from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, photocopying, recording or otherwise, without prior written permission being secured.
Requests for permission to reproduce should be addressed to either ISO at the address below or ISO’s
member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Reproduction may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
ii © ISO 2014 – All rights reserved
Contents
1 Introduction 9
1.1 Mathematics and its Notation . 9
1.2 Origins and Goals . 10
1.2.1 Design Goals of MathML . 10
1.3 Overview . 11
1.4 A First Example. 11
2 MathML Fundamentals 14
2.1 MathML Syntax and Grammar . 14
2.1.1 General Considerations. 14
2.1.2 MathML and Namespaces . 14
2.1.3 Children versus Arguments. 15
2.1.4 MathML and Rendering . 15
2.1.5 MathML Attribute Values . 15
2.1.6 Attributes Shared by all MathML Elements . 20
2.1.7 Collapsing Whitespace in Input . 21
2.2 The Top-Level Element . 22
2.2.1 Attributes . 22
2.2.2 Deprecated Attributes . 24
2.3 Conformance . 24
2.3.1 MathML Conformance . 24
2.3.2 Handling of Errors . 27
2.3.3 Attributes for unspecified data . 27
3 Presentation Markup 28
3.1 Introduction . 28
3.1.1 What Presentation Elements Represent . 28
3.1.2 Terminology Used In This Chapter. 29
3.1.3 Required Arguments . 30
3.1.4 Elements with Special Behaviors. 31
3.1.5 Directionality . 32
3.1.6 Displaystyle and Scriptlevel . 33
3.1.7 Linebreaking of Expressions . 34
3.1.8 Warning about fine-tuning of presentation . 35
3.1.9 Summary of Presentation Elements . 37
3.1.10 Mathematics style attributes common to presentation elements . 38
3.2 Token Elements . 38
3.2.1 Token Element Content Characters,. 39
3.2.2 Mathematics style attributes common to token elements . 41
3.2.3 Identifier . 45
CONTENTS 5
3.2.4 Number . 46
3.2.5 Operator, Fence, Separator or Accent . 47
3.2.6 Text. 60
3.2.7 Space . 62
3.2.8 String Literal . 64
3.3 General Layout Schemata. 64
3.3.1 Horizontally Group Sub-Expressions . 64
3.3.2 Fractions . 67
3.3.3 Radicals, . 69
3.3.4 Style Change . 69
3.3.5 Error Message . 72
3.3.6 Adjust Space Around Content. 73
3.3.7 Making Sub-Expressions Invisible . 78
3.3.8 Expression Inside Pair of Fences . 80
3.3.9 Enclose Expression Inside Notation . 83
3.4 Script and Limit Schemata . 85
3.4.1 Subscript. 86
3.4.2 Superscript. 87
3.4.3 Subscript-superscript Pair . 87
3.4.4 Underscript . 88
3.4.5 Overscript . 89
3.4.6 Underscript-overscript Pair . 91
3.4.7 Prescripts and Tensor Indices,, 93
3.5 Tabular Math . 95
3.5.1 Table or Matrix . 95
3.5.2 Row in Table or Matrix . 99
3.5.3 Labeled Row in Table or Matrix . 99
3.5.4 Entry in Table or Matrix . 101
3.5.5 Alignment Markers, . 101
3.6 Elementary Math . 110
3.6.1 Stacks of Characters . 111
3.6.2 Long Division . 113
3.6.3 Group Rows with Similiar Positions . 114
3.6.4 Rows in Elementary Math . 115
3.6.5 Carries, Borrows, and Crossouts . 115
3.6.6 A Single Carry . 116
3.6.7 Horizontal Line . 117
3.6.8 Elementary Math Examples . 118
3.7 Enlivening Expressions . 124
3.7.1 Bind Action to Sub-Expression . 124
3.8 Semantics and Presentation . 126
4 Content Markup 127
4.1 Introduction . 127
4.1.1 The Intent of Content Markup . 127
4.1.2 The Structure and Scope of Content MathML Expressions . 128
4.1.3 Strict Content MathML. 128
4.1.4 Content Dictionaries . 129
4.1.5 Content MathML Concepts . 130
4.2 Content MathML Elements Encoding Expression Structure . 131
6 CONTENTS
4.2.1 Numbers . 132
4.2.2 Content Identifiers . 138
4.2.3 Content Symbols . 140
4.2.4 String Literals . 142
4.2.5 Function Application. 143
4.2.6 Bindings and Bound Variables and. 146
4.2.7 Structure Sharing. 148
4.2.8 Attribution viasemantics . 150
4.2.9 Error Markup . 151
4.2.10 Encoded Bytes . 152
4.3 Content MathML for Specific Structures . 152
4.3.1 Container Markup . 153
4.3.2 Bindings with . 154
4.3.3 Qualifiers . 156
4.3.4 Operator Classes . 162
4.3.5 Non-strict Attributes . 169
4.4 Content MathML for Specific Operators and Constants . 170
4.4.1 Functions and Inverses . 170
4.4.2 Arithmetic, Algebra and Logic . 180
4.4.3 Relations . 200
4.4.4 Calculus and Vector Calculus . 205
4.4.5 Theory of Sets . 224
4.4.6 Sequences and Series . 233
4.4.7 Elementary classical functions . 243
4.4.8 Statistics . 247
4.4.9 Linear Algebra . 253
4.4.10 Constant and Symbol Elements . 260
4.5 Deprecated Content Elements. 268
4.5.1 Declare . 268
4.5.2 Relation . 268
4.5.3 Relation. 268
4.6 The Strict Content MathML Transformation . 268
5 Mixing Markup Languages for Mathematical Expressions 272
5.1 Annotation Framework . 272
5.1.1 Annotation elements . 272
5.1.2 Annotation keys . 273
5.1.3 Alternate representations . 274
5.1.4 Content equivalents. 275
5.1.5 Annotation references . 276
5.2 Elements for Semantic Annotations . 276
5.2.1 The element. 276
5.2.2 The element . 277
5.2.3 The element . 278
5.3 Combining Presentation and Content Markup . 281
5.3.1 Presentation Markup in Content Markup. 281
5.3.2 Content Markup in Presentation Markup. 282
5.4 Parallel Markup . 282
5.4.1 Top-level Parallel Markup . 282
5.4.2 Parallel Markup via Cross-References . 283
CONTENTS 7
6 Interactions with the Host Environment 286
6.1 Introduction . 286
6.2 Invoking MathML Processors. 286
6.2.1 Recognizing MathML in XML. 286
6.2.2 Recognizing MathML in HTML . 287
6.2.3 Resource Types for MathML Documents . 287
6.2.4 Names of MathML Encodings . 287
6.3 Transferring MathML . 288
6.3.1 Basic Transfer Flavor Names and Contents . 288
6.3.2 Recommended Behaviors when Transferring . 289
6.3.3 Discussion . 289
6.3.4 Examples . 290
6.4 Combining MathML and Other Formats . 292
6.4.1 Mixing MathML and XHTML . 294
6.4.2 Mixing MathML and non-XML contexts . 294
6.4.3 Mixing MathML and HTML . 294
6.4.4 Linking . 295
6.4.5 MathML and Graphical Markup . 296
6.5 Using CSS with MathML . 297
6.5.1 Order of processing attributes versus style sheets . 298
7 Characters, Entities and Fonts 299
7.1 Introduction . 299
7.2 Unicode Character Data. 299
7.3 Entity Declarations . 300
7.4 Special Characters Not in Unicode . 300
7.5 Mathematical Alphanumeric Symbols . 300
7.6 Non-Marking Characters . 303
7.7 Anomalous Mathematical Characters. 303
7.7.1 Keyboard Characters . 303
7.7.2 Pseudo-scripts . 304
7.7.3 Combining Characters . 306
A Parsing MathML 308
A.1 Use of MathML as Well-Formed XML. 308
A.2 Using the RelaxNG Schema for MathML3. 308
A.2.1 Full MathML . 309
A.2.2 Elements Common to Presentation and Content MathML. 309
A.2.3 The Grammar for Presentation MathML . 311
A.2.4 The Grammar for Strict Content MathML3 . 323
A.2.5 The Grammar for Content MathML . 325
A.2.6 MathML as a module in a RelaxNG Schema . 332
A.3 Using the MathML DTD . 333
A.3.1 Document Validation Issues . 333
A.3.2 Attribute values in the MathML DTD . 333
A.3.3 DOCTYPE declaration for MathML . 334
A.4 Using the MathML XML Schema . 334
A.4.1 Associating the MathML schema with MathML fragments . 334
A.5 Parsing MathML in XHTML . 334
A.6 Parsing MathML in HTML . 334
8 CONTENTS
B Media Types Registrations 335
B.1 Selection of Media Types for MathML Instances . 335
B.2 Media type for Generic MathML . 336
B.3 Media type for Presentation MathML . 337
B.4 Media type for Content MathML . 338
C Operator Dictionary (Non-Normative) 340
C.1 Indexing of the operator dictionary . 340
C.2 Format of operator dictionary entries . 340
C.3 Notes onlspace andrspace attributes . 341
C.4 Operator dictionary entries . 341
D Glossary (Non-Normative) 379
E Working Group Membership and Acknowledgments (Non-Normative) 383
E.1 The Math Working Group Membership . 383
E.2 Acknowledgments . 386
F Changes (Non-Normative) 387
F.1 Changes between MathML 3.0 First Edition and Second Edition . 387
F.2 Changes between MathML 2.0 Second Edition and MathML 3.0 . 390
G Normative References 391
H References (Non-Normative) 393
I Index (Non-Normativ
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.