MathML (, 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.
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) i WebKit (od 2010 roku) 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).
Historia Główne wersje języka to:
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 MathML <!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
Przypisy
Linki zewnętrzne W3C Math Home – informacje o MathML i oprogramowaniu wspierającym ten standard
Kategoria:XML Kategoria:Języki znaczników Kategoria:Aplikacje XML