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

Историја

-{MathML}- 1 објаљен је као препорука -{W3}- Конзорцијума у априлу 1998. године као први језик базиран на -{XML}-у који је препоручен од стране конзорцијума. Верзија 1.01 формата објављена је у јулу 1999, а верзија 2.0 појавила се у фебруару 2001. У октобру 2003. друга ревизија верзије 2.0"-{Mathematical Markup Language (MathML) Version 2.0 (Second Edition)}-", -{W3 Consortium}-, 2003-10-21, је објављена као коначна. Радови на верзији 3.0 започети су у јуну 2006. године, док је она објављена у 21. октобра 2010."-{Mathematical Markup Language (MathML) Version 3.0}-", -{W3 Consortium}-, 2010-10-21, као компатибилна са верзијом 2.

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

-{MathML}- има два облика: презентациони"-{Presentation Markup}-", -{W3 Consortium}-, 2010-10-21, и садржајни"-{Content Markup}-", -{W3 Consortium}-, 2010-10-21, .

Презентациони -{MathML}-

Презентациони -{MathML}- се фокусира на презентацију математичких записа и има око 30 елемената са 50 атрибута. Сви елементи почињу словом м. Постоје тзв. "жетонски" елементи, x (идентификатори), + (оператори), 2 (бројеви). Жетонски елементи се комбинују са шаблонским елементима за добијање једначина. Неки шаблонски елементи су <mrow> (ред), <msup> (суперскрипт) и <mfrac (разломак)"-{MathML element reference}-", -{Mozilla Developer Network}-, . Осим елемената постоји и велики број ентитета који означавају слова (&pi; - мало слово Пи), симболе (&RightArrow; - стрелица надесно), операције и невидљиве карактере, као што је &InvisibleTimes; који представља операцију множења."-{XML Entity Definitions for Characters}-", -{W3 Consortium}-, 2003-04-01,

Да би -{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}-."-{MathML Software - Editors}-", -{W3 Consortium}-, 2012-04-24, Добар део канцеларијских пакета поседује подршку за овај стандард, на пример Microsoft Office, -{OpenOffice.org}- и Libreofis.

Веб читачи

Веб читачи базирани на -{Gecko}- пројекту, као што је Фајерфокс, подржавају -{MathML}- "из кутије". Опера подржава -{MathML}- од верзије 9.5. Читачи који су базирани на -{WebKit}- пројекту поседују подршку, али је она доступна само у Сафарију од верзије 5.1; Гугл кроум, иако је базиран на овом пројекту, не поседује подршку за -{MathML}-. Интернет Експлорер не поседује никакву подршку али се она може додати у верзијама 7, 8 и 9 помоћу додатака. Детаљнија листа постоји на сајту -{W3C}-."-{MathML Software - Browsers}-", -{W3 Consortium}-, 2012-04-24, "-{MathML Software - Browser plugins, scripts and extensions}-", -{W3 Consortium}-, 2012-04-24,

Референце

Категорија:Језици за означавање Категорија:W3C Standardi