MathML: Difference between revisions

Content deleted Content added
Content MathML: More detail
EricAMeyer (talk | contribs)
Updated and added information in History section
Line 48:
* Patrick Ion<ref name="w3c-standard-2nd-ed" />
* Robert Miner<ref name="w3c-standard-2nd-ed" />
* Frédéric Wang<ref name="w3c-standard-core">{{Cite web|url=https://www.w3.org/TR/2022/WD-mathml-core-20220504/|title=MathML Core|publisher=W3C|publication-date=2022-05-04|access-date=2023-03-03
|editor-first1=David|editor-last1=Carlisle
|editor-first2=Frédéric|editor-last2=Wang
}}</ref>
}}
| authors = {{Collapsible list|title=Principal authors|
Line 83 ⟶ 87:
}}
 
'''Mathematical Markup Language''' ('''MathML''') is a [[mathematical markup language]], an application of [[XML]] for describing [[mathematics|mathematical]] notations and capturing both its structure and content, and is one of a number of [[mathematical markup languages]]. ItIts aim is aimsto atnatively integratingintegrate mathematical formulae into [[World Wide Web]] pages and other documents. It is part of [[HTML5]] and is a ISO/IEC standard [https://www.iso.org/standard/58439.html ISO/IEC 40314] since 2015.
 
==History==
MathML 1 was released as a W3C recommendation in April 1998 as the first [[XML]] language to be recommended by the [[W3C]]. Version 1.01 of the format was released in July 1999 and version 2.0 appeared in February 2001.
 
Following some experiments in the [[Arena browser]] based on [https://www.w3.org/MarkUp/HTMLPlus/htmlplus_45.html proposals for mathematical markup in HTML], MathML 1 was released as a W3C recommendation in April 1998 as the first [[XML]] language to be recommended by the [[W3C]]. Version 1.01 of the format was released in July 1999 and version 2.0 appeared in February 2001. Implementations of the specification appeared in Mozilla 1.0 and Opera 9.5<ref>{{cite web|title=Mozilla 1.0 Released!|url=http://www.mozillazine.org/articles/article2278.html|date=5 June 2002|access-date=3 March 2023}}</ref><ref>{{cite web|title=Can Kestrels Do Math? MathML Support in Opera Kestrel|url=https://dev.opera.com/blog/mathml-support-in-opera-kestrel/|date=27 September 2007|access-date=3 March 2023}}</ref>. In October 2003, the second edition of MathML Version 2.0 was published as the final release by the [[W3C Math Working Group]].
In October 2003, the second edition of MathML Version 2.0 was published as the final release by the [[W3C Math Working Group]].
 
MathML was originally designed before the finalization of [[XML namespace]]s. However, it was assigned a namespace immediately after the Namespace Recommendation was completed, and for XML use, the elements should be in the namespace with namespace URL <nowiki>http://www.w3.org/1998/Math/MathML</nowiki>. When MathML is used in HTML (as opposed to XML) this namespace is automatically inferred by the HTML parser and need not be specified in the document.
Line 95 ⟶ 98:
Version 3 of the MathML specification was released as a [[World Wide Web Consortium#W3C recommendation (REC)|W3C recommendation]] on 20 October 2010. A recommendation of ''A MathML for CSS Profile'' was later released on 7 June 2011;<ref name=CSSProfile>{{cite web|title=A MathML for CSS Profile|url=http://www.w3.org/TR/mathml-for-css/|publisher=W3C|access-date=25 July 2013|date=7 June 2011}}</ref> this is a subset of MathML suitable for CSS formatting. Another subset, ''Strict Content MathML'', provides a subset of content MathML with a uniform structure and is designed to be compatible with [[OpenMath]]. Other content elements are defined in terms of a transformation to the strict subset. New content elements include {{tag|bind|o}} which associates bound variables ({{tag|bvar|o}}) to expressions, for example a summation index. The new {{tag|share|o}} element allows structure sharing.<ref name="V3"/>
 
The development of MathML 3.0 went through a number of stages. In June 2006 the W3C rechartered the MathML Working Group to produce a MathML 3 Recommendation until February 2008 and in November 2008 extended the charter to April 2010. A sixth Working Draft of the MathML 3 revision was published in June 2009. On 10 August 2010 version 3 graduated to become a "Proposed Recommendation" rather than a draft.<ref name="V3">[http://www.w3.org/TR/MathML3/ Mathematical Markup Language Version 3.0 W3C Recommendation]. W3.org. Retrieved on 9 May 2012.</ref> An implementation of MathML 2 landed in WebKit around this same time<ref>{{cite web|title=Announcing…MathML!|url=https://webkit.org/blog/1366/announcing%e2%80%a6mathml/|date=17 August 2010|access-date=3 March 2023}}</ref>, with a Chromium implementation following a couple of years later<ref>{{cite web|title=A web developer’s guide to the latest Chrome Beta|url=https://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html|date=8 November 2012|access-date=3 March 2023}}</ref>, although that implementation was removed from Chromium after less than a year<ref>{{cite web|title=Comment 32 on Issue 152430: Enabling support for MathML|url=https://bugs.chromium.org/p/chromium/issues/detail?id=152430#c32|date=5 February 2013|access-date=3 March 2023}}</ref>.
 
The Second Edition of MathML 3.0 was published as a W3C Recommendation on 10 April 2014.<ref name="w3c-standard-2nd-ed" /> The specification was approved as an [[International Electrotechnical Commission|ISO/IEC]] international standard 40314:2015 on 23 June 2015.<ref>{{cite web|url=https://www.w3.org/2015/06/mathmlpas.html.en |title=W3C MathML 3.0 Approved as ISO/IEC International Standard |website=W3.org |date=23 June 2015 |access-date=12 July 2015}}</ref> Also in 2015, the MathML Association was founded to support the adoption of the MathML standard.<ref>{{citation|url=http://mathml-association.org/about.html|title=Mondial Association for Tools Handling MathML|access-date=20 June 2016|author1=Deyan Ginev |author2=Michael Kohlhase |author3=Moritz Schubotz |author4=Raniere Silva |author5=Frédéric Wang }}</ref> At that time, according to a member of the [[MathJax]] team, none of the major browser makers paid any of their developers for any MathML-rendering work; whatever support existed was overwhelmingly the result of unpaid volunteer time/work.<ref>{{cite web|url=http://radar.oreilly.com/2013/11/mathml-forges-on.html|title=MathML forges on|author=Peter Krautzberger|work=oreilly.com|access-date=22 November 2014}}</ref>
 
===MathML Core===
In August 2021, a new specification called MathML Core was published, described as the “core subset of Mathematical Markup Language, or MathML, that is suitable for browser implementation.”<ref>{{cite web|title=MathML Core|url=https://www.w3.org/TR/2022/WD-mathml-core-20220504/#abstract|date=4 May 2022|access-date=3 March 2023}}</ref> MathML Core set itself apart from MathML 3.0 by including detailed rendering rules and integration with CSS, automated browser support testing resources, and focusing on a fundamental subset of MathML. An implementation was added to Chromium at the beginning of 2023.<ref>{{cite web|title=Igalia Brings MathML Back to Chromium|url=https://www.igalia.com/2023/01/10/Igalia-Brings-MathML-Back-to-Chromium.html|date=10 January 2023|access-date=3 March 2023}}</ref>
 
The Second Edition of MathML 3.0 was published as a W3C Recommendation on 10 April 2014.<ref name="w3c-standard-2nd-ed" /> The specification was approved as an [[International Electrotechnical Commission|ISO/IEC]] international standard 40314:2015 on 23 June 2015.<ref>{{cite web|url=https://www.w3.org/2015/06/mathmlpas.html.en |title=W3C MathML 3.0 Approved as ISO/IEC International Standard |website=W3.org |date=23 June 2015 |access-date=12 July 2015}}</ref>
 
==Presentation and semantics==
Line 355 ⟶ 362:
The quality of rendering of MathML in a browser depends on the installed fonts. The [[STIX Fonts project]] have released a comprehensive set of mathematical fonts under an open license. The [[Cambria Math]] font supplied with Microsoft Windows had a slightly more limited support.<ref name="Vismor">{{Citation|url=https://vismor.com/documents/site_implementation/viewing_mathematics/viewing_mathematics.php|title=Viewing Mathematics on the Internet|access-date=13 April 2011|first=Timothy|last=Vismor}}</ref>
 
According to a member of the MathJax team, none of the major browser makers paid any of their developers for any MathML-rendering work; whatever support exists is overwhelmingly the result of unpaid volunteer time/work.<ref>{{cite web|url=http://radar.oreilly.com/2013/11/mathml-forges-on.html|title=MathML forges on|author=Peter Krautzberger|work=oreilly.com|access-date=22 November 2014}}</ref>
 
In 2015 the MathML Association was founded to support the adoption of the MathML standard.<ref>{{citation|url=http://mathml-association.org/about.html|title=Mondial Association for Tools Handling MathML|access-date=20 June 2016|author1=Deyan Ginev |author2=Michael Kohlhase |author3=Moritz Schubotz |author4=Raniere Silva |author5=Frédéric Wang }}</ref>
 
{| class="wikitable sortable" style="font-size: 85%; text-align: center; width: auto;"