MathML, скраћено од Mathematical Markup Language, представља језик базиран на XMLу којем је намена структурно и садржајно описивање математичких белешки. Основна идеја иза овог језика је да се на једноставан и смислен начин омогући уметање математичких израза у Веб странице.

MathML
Програмер(и)W3 Конзорцијум
Прво издањеАприл 1998
Стабилно издање
3.0 / 21. Октобар 2010.
Написан уXML
Веб-сајтW3C Math

Историја уреди

MathML 1 објаљен је као препорука W3 Конзорцијума у априлу 1998. године као први језик базиран на XMLу који је препоручен од стране конзорцијума. Верзија 1.01 формата објављена је у јулу 1999, а верзија 2.0 појавила се у фебруару 2001. У октобру 2003. друга ревизија верзије 2.0[1] је објављена као коначна. Радови на верзији 3.0 започети су у јуну 2006. године, док је она објављена у 21. октобра 2010.[2] као компатибилна са верзијом 2.

Презентација и семантика уреди

MathML има два облика: презентациони[3] и садржајни[4].

Презентациони MathML уреди

Презентациони MathML се фокусира на презентацију математичких записа и има око 30 елемената са 50 атрибута. Сви елементи почињу словом м. Постоје тзв. "жетонски" елементи, <mi>x</mi> (идентификатори), <mo>+</mo> (оператори), <mn>2</mn> (бројеви). Жетонски елементи се комбинују са шаблонским елементима за добијање једначина. Неки шаблонски елементи су <mrow> (ред), <msup> (суперскрипт) и <mfrac (разломак)[5]. Осим елемената постоји и велики број ентитета који означавају слова (&pi; - мало слово Пи), симболе ( - стрелица надесно), операције и невидљиве карактере, као што је који представља операцију множења.[6]

Да би MathML документ био исправан, он мора задовољити спецификацију која налаже да мора имати XML декларацију:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
         "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">

Једноставан израз облика   изгледао би овако:

<?xml version="1.0" encoding="UTF-8"?>
<!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>
        <mi>a</mi>
        <mo><!-- &InvisibleTimes; --></mo>
        <msup>
            <mi>x</mi>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mi>b</mi>
        <mo><!-- &InvisibleTimes; --></mo>
        <mi>x</mi>
        <mo>+</mo>
        <mi>c</mi>
    </mrow>
</math>

Садржајни MathML уреди

Садржајни MathML се фокусира на семантичко значење израза, док је на кориснику како ће та једначина изгледати. Главни елемент је <apply> који представља функцију или оператор, зависно од тога који је први елемент који му припада.

Једноставан израз облика   изгледао би овако:

<math>
    <apply>
        <plus/>
        <apply>
            <times/>
            <ci>a</ci>
            <apply>
                <power/>
                <ci>x</ci>
                <cn>2</cn>
            </apply>
        </apply>
        <apply>
            <times/>
            <ci>b</ci>
            <ci>x</ci>
        </apply>
        <ci>c</ci>
    </apply>
</math>

Имплементације и подршка уреди

Уређивачи уреди

Већина рачунарских уређивача једначина подржава овај стандард; комплетна листа доступна је на сајту W3C.[7] Добар део канцеларијских пакета поседује подршку за овај стандард, на пример Microsoft Office, OpenOffice.org и Libreofis.

Веб читачи уреди

Веб читачи базирани на Gecko пројекту, као што је Фајерфокс, подржавају MathML "из кутије". Опера подржава MathML од верзије 9.5. Читачи који су базирани на WebKit пројекту поседују подршку, али је она доступна само у Сафарију од верзије 5.1; Гугл кроум, иако је базиран на овом пројекту, не поседује подршку за MathML. Интернет Експлорер не поседује никакву подршку али се она може додати у верзијама 7, 8 и 9 помоћу додатака. Детаљнија листа постоји на сајту W3C.[8][9]

Референце уреди

  1. ^ "Mathematical Markup Language (MathML) Version 2.0 (Second Edition)", W3 Consortium, 2003-10-21, [1]
  2. ^ "Mathematical Markup Language (MathML) Version 3.0", W3 Consortium, 2010-10-21, [2]
  3. ^ "Presentation Markup", W3 Consortium, 2010-10-21, [3]
  4. ^ "Content Markup", W3 Consortium, 2010-10-21, [4]
  5. ^ "MathML element reference", Mozilla Developer Network, [5] Архивирано на сајту Wayback Machine (7. мај 2012)
  6. ^ "XML Entity Definitions for Characters", W3 Consortium, 2003-04-01, [6]
  7. ^ "MathML Software - Editors", W3 Consortium, 2012-04-24, [7]
  8. ^ "MathML Software - Browsers", W3 Consortium, 2012-04-24, [8]
  9. ^ "MathML Software - Browser plugins, scripts and extensions", W3 Consortium, 2012-04-24, [9]