MathML

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

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

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

Веб стандарди
Стандарди
Организације

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 (разломак)[1]. Осим елемената постоји и велики број ентитета који означавају слова (&pi; - мало слово Пи), симболе (&RightArrow; - стрелица на десно), операције и невидљиве карактере, као што је &InvisibleTimes; који представља операцију множења.[5]

Да би 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">

Једноставан израз облика a x^2+b x+c изгледао би овако:

<?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>&#x2062;<!-- &InvisibleTimes; --></mo>
        <msup>
            <mi>x</mi>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mi>b</mi>
        <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
        <mi>x</mi>
        <mo>+</mo>
        <mi>c</mi>
    </mrow>
</math>

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

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

Једноставан израз облика a x^2+b x+c изгледао би овако:

<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.[6] Добар део канцеларијских пакета поседује подршку за овај стандард, на пример Мајкрософт офис, OpenOffice.org и Libreofis.

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

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

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

  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. ^ "XML Entity Definitions for Characters", W3 Consortium, 2003-04-01, [5]
  6. ^ "MathML Software - Editors", W3 Consortium, 2012-04-24, [6]
  7. ^ "MathML Software - Browsers", W3 Consortium, 2012-04-24, [7]
  8. ^ "MathML Software - Browser plugins, scripts and extensions", W3 Consortium, 2012-04-24, [8]