MathML (ang. Mathematical Markup Language, matematyczny język znaczników) – język będący zastosowaniem XML-a, służący do opisywania wzorów i symboli matematycznych.

Specyfikacje języka MathML opracowywane są przez W3C. Aktualną wersją (od 2014 roku) jest MathML 3.0[1].

MathML jest na coraz szerszą skalę wykorzystywany do prezentacji wzorów w Internecie na stronach WWW. Znaczniki MathML można umieścić zarówno w osobnym dokumencie (z rozszerzeniem .mml), jak i włączyć do dokumentu XHTML lub HTML5.

Standard ten jest obsługiwany przez przeglądarki oparte na silnikach Gecko (od 2002 roku[2]) i WebKit (od 2010 roku[3]) oraz przez przeglądarkę Opera. Dla innych przeglądarek konieczne jest zainstalowanie odpowiedniej wtyczki (np. MathPlayer dla Internet Explorera). W połowie 2019 roku trwają prace nad wsparciem standardu MathML w silniku Blink (używanym m.in. przez Chrome'a)[4].

HistoriaEdytuj

Główne wersje języka to[5]:

  • MathML 1.0 (1998): wersja ta zawierała podstawowy zestaw słów kluczowych (w większości istniejący do dziś), nie wykorzystywała jednak wielu możliwości jęz. XML (takich jak np. przestrzenie nazw), które dodane zostały do XML-a później,
  • MathML 2.0 (2001): w wersji tej wprowadzono podział na znaczniki prezentacyjne, opisujące sposób renderowania wzorów, oraz znaczniki semantyczne, opisujące matematyczne znaczenie wzorów i mogące być wykorzystywane do obliczeń. Oba typy znaczników można stosować jednocześnie. W tej wersji dodano ponad 20 słów kluczowych (elementów) języka,
  • MathML 3.0 (2010): w wersji tej poprawiono możliwości formatowania wzorów, poszerzono możliwości wykorzystania hiperreferencji oraz współpracę ze standardem OpenMath.

Prosty przykład dokumentu MathMLEdytuj

<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
  <msup>
   <mfenced>
    <mrow>
     <mi>x</mi>
     <mo>+</mo>
     <mi>y</mi>
    </mrow>
   </mfenced>
   <mn>4</mn>
  </msup>
 </mrow>
</math>

Powyższy przykład obrazuje zapis  

PrzypisyEdytuj

  1. Mathematical Markup Language (MathML) Version 3.0 2nd Edition, www.w3.org [dostęp 2019-07-24].
  2. Mozilla MathML Project, fred-wang.github.io [dostęp 2019-07-24].
  3. WebKit wzbogacił się o obsługę MathML - dobreprogramy, www.dobreprogramy.pl [dostęp 2017-11-25] (pol.).
  4. MathML in Chromium, mathml.igalia.com [dostęp 2019-07-24].
  5. MathML Recommendation Version History, www.w3.org [dostęp 2019-07-24].

Linki zewnętrzneEdytuj